Inactive [FIX/MECH] properTime v2.0 - Control the speed of time [1.0.1-R1]

Discussion in 'Inactive/Unsupported Plugins' started by andersonhc, Aug 9, 2011.

  1. Offline

    andersonhc

    properTime - Control the speed of time, for example to fix too long days/nights due to lag:
    Version: 2.0


    BukkitDev Project Page: http://dev.bukkit.org/server-mods/propertime/


    On many servers, lag causes the time to pass extremely slow, so xupwup created a fix.
    properTime runs in a dedicated thread, so it wont really be affected by lag.
    By default this plugin makes sure that the day/night cycle lasts exactly 20 minutes.
    If desired you can change this, so that it always runs at half speed, or -10 times as fast, causing the time to go backwards really fast :). Please note that this will cause the sun/moon to jerk, this can only be fixed with a client mod.
    This plugin is also compatible with other time changing plugins, however, I advise against using it in combination with time stopping plugins. It also works fine with beds.

    Sample config file:
    Code:
    propertime:
      world:
        timespeedday: 0.5
        timespeednight: 1.0
        timespeeddusk: 1.0
        timespeeddawn: 1.0
        perma: none
      world_nether:
        preset: alwaysnight
      world_the_end:
        followworld: world
        followworlddelay: 6000
    
    Valid values for perma are: none, night, day or numeric values between 0 and 24000.

    Valid presets are:
    ALWAYSDAY: permanent midday
    ALWAYSNIGHT: permanent midnight
    CYCLE24M: a full day/night cycle lasts 24 minutes, instead of 20min.
    CYCLE24H: a full day/night cycle lasts 24 hours

    Normally day lasts 10 minutes, dawn + dusk 1.5, and night 7.
    If you want your day to last 12 minutes, you should set timespeedDay to 10/12 = 0.833
    Also, when freezing time, if you set the time to somewhere during dusk or dawn, the light will flicker for the client. I advise against this.

    Features:
    • Configurable time speeds
    • Dedicated thread (so lag proof)
    • Separate configuration for day, night, dawn, dusk
    • Multiworld support (the plugin that creates the secondary worlds needs to load before properTime)
    • Permanent day/night
    • Ability to freeze time.
    • Keep time between different worlds sync'ed, with optional delay.
    To make sure that properTime loads after your multiworld plugin: (thanks to @tehbeard)


    Open properTime.jar with a program like winrar, and edit the plugin.yml file inside. Add the following code to it:
    Code:
    softdepend: [MultiVerse]
    In this example properTime will load after MultiVerse. Do this for any multiworld plugin you use. (note: you need the name of the multi world plugin as stated in it's own plugin.yml)

    Troubleshooting

    First of all, carefully read all errors, as well as the last few comments on this thread. If that does not fix your problem, try adding "debug" to the top of your config file. That way the plugin will give you a lot of information, some of which may be useful for finding out what is wrong.

    World "foo" not found
    Make sure your plugins load in the correct order. You can also try to remove or rename your config file, so that it is regenerated with the correct worldnames and syntax.

    Download on BukkitDev Project Page:
    http://dev.bukkit.org/server-mods/propertime/

    Changelog:

    Version 1.9.0
    • Added presets. Presets included are: ALWAYSDAY, ALWAYSNIGHT, CYCLE24H, CYCLE24M.
    • perma values may also be: none, day, night.
    • Added possibility to change default settings.
    Version 1.8.9


    • Sources are now inside the jar file. No other changes.
    Full Changelog:


    Show Spoiler

    Version 1.8.8
    • Open sourced!
    • Different synchronisation with the main thread, this should fix concurrentModificationException errors.
    Version 1.8.7


    • Use the bukkit scheduler to set the time from a thread. (should fix concurrentModificationException errors)
    Version 1.8.6


    • Added debugging functionality that can be enabled by putting the word "debug" somewhere in your config file, preferably at the top.
    Version 1.8.5


    • The parser now supports world names with spaces.
    • (A bit) nicer error messages.
    Version 1.8.4


    • Fixed stupid mistake where it said 2400 instead of 24000, causing a lot of weirdness when using the perma option.
    Version 1.8.3


    • Fixed a bug in the parser that caused nullpointer exceptions for some files.
    • Added the "perma" option for configuring permanent day/night.
    Version 1.8.2


    • Fixed bug that caused values below 1 to get rounded to 0, causing the time to stop for those that use a timespeed less than 1.
    Version 1.8.1


    • Fixed nullpointerexception when stopping the server when an invalid config file has been used.
    Version 1.8


    • Added multiworld support
    Version 1.7


    • Fixed compatibility with newer bukkit versions
    • The config file is now located at: plugins/properTime/properTime.conf
    Version 1.6


    • If the client would jump to for example dusk, the server will use the timespeed for dusk, so if you set your day speed to 0.25, and the dusk speed to 1, this will fix the flicker during the few seconds when the client wants to go to dusk, and the server still says day. This should not change anything if you use timespeeds >= 1.
    Version 1.5.1


    • Fixed namespace, see this.
    Version 1.5


    • Fixed compatibility with newer bukkit versions
    • You can now configure what world this plugin should work on. (only one is supported and this is not in the default config file)
    Version 1.4


    • Added the ability to configure timespeeds for dusk/dawn.
    Version 1.3


    • Fix compatibility with newer bukkit versions.
    Version 1.2


    • Added the ability to configure timespeeds for day/night independently.
    Version 1.1


    • Renamed properties file + location
    Version 1.0


    • Initial release
     
  2. so if i type perma: ALWAYSNIGHT <-- its always night in that world right? :D
     
  3. Offline

    andersonhc

    Actually it's "perma: night". You will make:
    Code:
    world: "world_name"
    timespeedDay: 1.0
    timespeedNight: 1.0
    timespeedDusk: 1.0
    timespeedDawn: 1.0
    perma: night
    
    ALWAYSNIGHT is another option as a preset, in the format:
    Code:
    world: "world_name"
    preset: ALWAYSNIGHT
    
    Any of those will give you the same result: an endless night in the specifyed world.
     
  4. Offline

    Rofang

    I've been trying to set up my server to make sure the two main worlds always remain exactly 12 hours apart from each other. I thought this plugin would work nicely to that effect (set them manually once, then leave them alone), but the world times continue to stray from each other (even when nobody messes things up by sleeping in a bed). My config has all times of day set to 1x speed, and I've even done the trick where I mention my multi-world plugin's exact name (My Worlds) as a soft depend, but they still get out of sync within a few real-time hours. I suppose I should try some speeds other than 1x to try to diagnose where the failure is arising, but I'm kind of exhausted from server restarts and plugin experimentation at this point.
     
  5. Offline

    andersonhc

    If you are using 1x speed for all values on the two worlds, they should keep the same time.
    Except if someone (or other plugin) manipulates the time (set time).
     
  6. Offline

    Rofang

    Does this mean that if I have properTime running and I use, say, CommandBook to set the times of the two worlds to their starting values (i.e. 12am for world1, 12pm for world2), this subsequently prevents properTime from managing the flow of time? If this is the case, would a server restart immediately after my CB commands allow properTime to maintain those custom times from that point on?

    Or did you just mean that the time flow will always remain 1x but that the relative offset between the two worlds would (obviously) be thrown off if a plugin changed one of the world's times?

    And regardless of the above answers, have you considered a feature wherein one world could be set to be synced (with custom offset) with some other timekeeper world? Just an idea.
     
    andersonhc likes this.
  7. ty, noticed the "night" thing just before posted :D
    anyways it works, its lightweighted, really nice plugin! +1
     
  8. Offline

    Raptor2213

    Why don't you update this program so that you can tell it how long you want the cycles to be in minutes?

    Seems like it would be a simple math calculation for the mod, and would make adjusting timing a lot easier.
     
  9. Offline

    xupwup

    That was intended as a retard filter. The idea was that people that cannot do basic math shouldn't host a server. But it doesn't appear to keep the retards away as intended :(.
     
  10. Offline

    Raptor2213

    I think you're getting "retard filter" confused with "user friendly".
     
  11. Offline

    xupwup

    You can't have both :). But you're right.
     
    Hopium likes this.
  12. Offline

    tony687

    I use the plugin WorldWarp 2.2
    What is the softdepend: [] thing for this particular plugin?
    link to WorldWarp:
    http://forums.bukkit.org/threads/tp...2-2-no-bs-pure-multiworld-1000-updated.12819/
     
  13. Offline

    xupwup

  14. Offline

    tony687

    this is what i get:
    Code:
    18:14:33 [SEVERE] Could not load 'plugins/properTime.jar' in folder 'plugins':
    java.io.FileNotFoundException: Jar does not contain plugin.yml
    	at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:64)
    	at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:207)
    	at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:130)
    	at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:128)
    	at org.bukkit.craftbukkit.CraftServer.reload(CraftServer.java:378)
    	at org.bukkit.command.SimpleCommandMap$ReloadCommand.execute(SimpleCommandMap.java:281)
    	at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:129)
    	at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:312)
    	at net.minecraft.server.MinecraftServer.b(MinecraftServer.java:480)
    	at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:465)
    	at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:361)
    	at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
    
     
    andersonhc likes this.
  15. Offline

    xupwup

    You did it wrong, somehow the jar does not contain a plugin.yml, so you probably didn't save your changes properly.
     
  16. Offline

    andersonhc

    @tony687

    Like xupwup said, the only explanation is that your jar doesn't contains a plugin.xml. You must have removed or moved it elsewhere when editing.

    @Rofang

    I really liked your idea. I'll add it on the next version, the possibility of a world "follow" the time of another, with an adjustable delay.

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 18, 2016
  17. Offline

    tony687

    Uhhh, actually, how do you edit it correctly?
    I use a apple mac, so i dont have winrar
     
  18. Offline

    xupwup

    Open a command window, go to the plugins folder, and use the following commands:
    Code:
    [rick@XUPLIN plugins]$ mkdir temp
    [rick@XUPLIN plugins]$ unzip properTime.jar -d temp/
    [rick@XUPLIN plugins]$ cd temp/
    [rick@XUPLIN temp]$ sed s/MultiVerse/WorldWarp/ plugin.yml > plugin2.yml
    [rick@XUPLIN temp]$ mv plugin2.yml plugin.yml
    [rick@XUPLIN temp]$ zip -r properTime.jar *
    [rick@XUPLIN temp]$ mv properTime.jar ../properTime.jar 
    [rick@XUPLIN temp]$ cd ..
    [rick@XUPLIN plugins]$ rm -r temp/
    
    I did this on a linux machine, so it should work on most servers, and probably a mac as well.
     
  19. Offline

    Josh Sagnella

    Would it be possible to add a feature to sync the time between multiple worlds?

    Love the plugin, been using it forever.
    Thanks!
     
  20. Offline

    efstajas

    I've been using "LongSummerDays" for my creative worlds to have day all the time, but it's not working really good. I'm going to try this later. :)

    There is WinRAR for mac (at least WinZIP)

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 18, 2016
  21. Offline

    tony687

    Thankyou for helping me.'
    EDIT: Oh wait, it was already loading after World Warp when I first got it. Oops, my bad sorry for wasting your time
     
  22. Offline

    Simanova

    @ andersonhc

    I read something about a feature that allows smooth day/night change and time transition via F6, F7 keys.
    Is it possible to use this feature for ProperTime?
     
    andersonhc likes this.
  23. Offline

    andersonhc

    No.. it's not possible with properTime or any other server-side plugin.
    You'll need a client mod to do that.
     
    Simanova likes this.
  24. Offline

    Sostratus

    Great plugin, I love the simple fix plugins. You say a client mod is needed to smooth out the animation... do you know of any mods with this feature?
     
  25. Offline

    Imm0rt41

    can you add to this the ability to stop beds from changing time to day and/or synchronizing the time of the server with an external clock, say the clock of the computer the server runs on?
     
  26. Offline

    Nibelton

    wotking with 1.8 ?
     
  27. Offline

    jase240

    Any client mod for this yet?
     
  28. Offline

    Sicarius187

    I use Wormhole X-Treme Worlds and have not been able to get it to load before Propertime. I added
    softdepend: [WormholeXTremeWorlds] to the yml but that didn't fix the problem. I can reload Propertime after the server is running and it will recognize my second world, but nothing during start up. What am I doing wrong?
     
  29. Offline

    xupwup

    You need the worldname as stated in the plugins .yml file. So open wormhole xtreme's jar file, and copy paste the name as stated in its .yml file.
     
  30. Offline

    Sicarius187

    [WormholeXTremeWorlds] is the name cut and paste from the yml. It just doesn't work.
     
  31. Offline

    xupwup

    You should ask somewhere else, because softdepend not working is a bug in bukkit (or user error), not properTime.
     

Share This Page