Again with the great help from our Arch Coder, Azkedar, we are now able to do 100% automated lot resets! Yay! I am SUPER excited about this. What does it do?
I wrote a script that runs once a day – when the server shuts down for the daily restart – which basically does the same as my map-code: It goes through all the worlds, lot by lot, and checks if the owner is banned or absent for a certain time, matches that with the world name and the user group to find out if the lot is up for reset or not. Then, it will tell an external program (the one Azkedar wrote), to take the lot from a new, untouched world (same seed however) and copy it over the current world. Sounds easy, is complicated to do, since the it has to take a part of one file and the same part of another file. Once that is done, the server will restart, and the 2D map will be regenerated to show the changes.
The results:
- No more (zero) work for anyone (me) on lot resets anymore (ever). Yay! This is the only leftover non-automated regular task I had on the server. I could go on holiday for a year now and the server would be still fine (except for software updates).
- No more discrepancy how a lot looks on the 2D map and in reality since I won’t manually reset lots 15 hours before the map updates.
- We will always have the maximum amount of lots free for new users, there would be never more than today’s expired lots marked red on the map.
- No more broken trees, mineshafts, etc. Everyone will always have a mint new lot in perfect condition, no matter what world, biome etc.
- Less broken mountains. If the world generator changes but not the ores, we can stick with the old world and avoid broken mountains. If the ores change, we can re-generate a new source world to copy from and reset lots will get new ores (and maybe broken mountains).
Those who have been around for longer know that this list of solved issues is summing up some of the biggest topics we had since the beginning of the server. The fact that after all this time messing around with those issues we finally came to a sustainable solution is truly amazing. We are basically entering a new phase for the server together with the recent hardware upgrade. Uncovery 2.0!
I will be testing lot resets for the 2+ months old lots from today on and start the 1+ months lots next week. Just to make sure everything works fine and to give the people who did not know about the shortening of the expiry until I sent them an email the promised time to login.
[UPDATE] Success! I did a test first on the banned users (6 or so), then on all the users that are absent since 2+ months. That was a bunch of 60+ lots in all 3 worlds combined! It worked like a charm, and all lots are in perfect condition, with trees and everything else! It is setup to run during server restarts. So since this works perfectly, it will continue to reset lots at every restart. This weekend I will switch to the shorter restart cycle and reset the majority of the other lots that are already now red[/UPDATE]
Wow! Fantastic! This sounds like a perfect solution!
Bloody brilliant guys.
Super impressed with you both. It is a real milestone to get to this point, and a clever solution to a lot of the administrative overhead that Uncovery has worn historically.
To the future! HUZZAH!
Super awesome! Less stress for anyone is always good.
but is there absolutely NO way that it could accidentelly reset an active lot?
not if the code is correct. The code is identical to the map. If the map shows something wrong, then the reset might be wrong too.
Yay azkedar always making peoples lives easyer Thanks!
Nice job azkedar, awesome work!
Awesome, as long as im good.
Well, excellent work. I must say, that’s always been quite a burden for you Unc. I’m sure you are as pleased as pie. Great job to both of you.