TimeSync source and rights

Status
This thread has been locked.

Justis

Community Member
Admin
Feedback score
61
Posts
2,117
Reactions
2,412
Resources
1
Howdy,

The primary external API for this plugin has decided to go and terminate itself, and I haven’t the time to update the plugin or do any development in general lately, what with you guys keeping me so busy as your admin.
Thus, I’m happy to sell rights to this quaint little project.

I’d prefer it go to a developer who will treat it right, but I don’t mind too much. It’s an old and simple plugin that I never gave any advertisement anyways. Here was its description:
Tested Spigot Versions: 1.7 - 1.12
Synchronize game time with reality.

TimeSync allows every player in game to see their sky as it is it appears outside their window.

How does it do it?
For every world in which TimeSync is enabled, it slows down the in game time to a 24 hour day. That's 72 times slower than the normal Minecraft day.
It then gets the timezone of each player from their ip using one of four supported resolvers, converts the timezone to units, and gets the difference in time from that of UTC +-00:00, synchronizing each player's in game time with their irl time.

Two players can be playing in the same world on the same server, and look up to see a different sky, their sky. Dependent upon the time at the location they're playing from.

Perfect for:
Hub servers:
Who wish to have their hub's day time on a 24 hour clock, and dependent on each joining player's timezone.​
Hardcore survival/prison servers:
Who wish to spice up the game's realism and increase the engagement and attention of their players.​
Anyone:
Be creative! Be unique. Use this plugin in whatever fashion creates the most memorable experience for your players.​

Things to be noted:
After extensive research into free and public timezone resolving APIs, which wouldn't require plugin users to log into a service and register an API key, I've now added support for 4 different timezone resolving services.
Not only does TimeSync cache requests to prevent duplicates (removed after an hour of not being used by the way), TimeSync shares the load of requests made with each API best suited to the limitations each employs, while actively throttling the use of each so that requests stay below the service enforced totals per minute/hour/day.

Primary: http://geoip.nekudo.com/ > no implicit limit
Secondary: http://www.geoplugin.net/ > 120 requests every minute

Tertiary: http://ip-api.com/ > 150 requests every minute
Reserve: http://gd.geobytes.com/ > 16,000 requests every hour

The possibility of a server getting more unique ip joins an hour than can be handled by this massive bank of available requests is next to none.

The following configuration is provided:
Code:
#################
# - Time Sync - # Config
#################
# - by Justis

# .hmff | Hierarchical Mapping File Format
# Not YAML; a format of my own design https://gist.github.com/justisr/fb4ddb6d6b1d3fa490ad6678331c9074
# Do not change the file extension.

# TimeSync will syncronize the in game time with the time of the player per-world.

# The worlds list will function as a whitelist to the worlds that TimeSync is enabled for, if true.
# It will function as blacklist of worlds TimeSync is disabled for, if false.
isWhitelist: false

# Separate worlds by spaces. If world name contains spaces, simply surround world name in double quotes.
# For example: world worldname "world - name" world4
worlds: world_the_end world_nether

You can now enable/disable TimeSync per-world.
If you want to disable the tracking of time for a player,

The permission timesync.bypass is also available.
However, worlds that TimeSync is enabled in will have their daylight cycles turned off, so the time will not appear to change in TimeSync enabled worlds for players who have the bypass permission.

"How does TimeSync work with mob spawning when there are two different players playing in different timezones? What if one person has daytime and someone else's time is night."

As the resource description says, the natural day-night cycle will be stopped for any world in which TimeSync is enabled.
You can set the world time to anything you'd like and it won't change from that setting for that world. For instance, 12:00, if you wanted mob spawning to function as if it were day time all the time. Or 24:00 if you wanted mob spawning to function as if it were night time all the time. 18:40 if you don't want the nighttime mobs spawning, but you don't want them burning either.
Regardless of the time you set it to, players will see the world in sync with their own timezone.​

If you've got a server that you both want to use TimeSync for as well as where mob spawning is actively a part of your desired gameplay, and simply setting the world time doesn't produce the desired functionality, I suggest utilizing a plugin which offers you more control over mob spawning and have them spawn however it is that you'd like mob spawning to function on your specific server.​

Just to clarify, I’m selling the source and rights.
The rights do not extend to my open-source file wrapper that the plugin utilizes for its config.

Bidding starts at $4
Bidding ends March 14th.

Stay warm.
 

hohos

Supreme
Feedback score
45
Posts
1,082
Reactions
658
Resources
0
This actually looks interesting and useful for an idea of mine for my network..
(Tbh, never knew you coded plugins)
 
Status
This thread has been locked.
Top