We have decided to release small update to address some glaring issues with the game, and try to iron out any early bugs of our new database backend which should further improve performance and future-proof the server for some big ventures in the near future.
Our blue-and-red color branding has been applied to spawn, complete with a pixel art AK-103 in the newbie lobby to point them towards their first match! The newbie lobby also no longer has purpur so the spawn will not look weird before loading the resource pack. Please tell us how you think about the spawn in the comments and Discord.
NEW DATABASE SYSTEM
We have added a brand new database backend to the server, where all data operations are fully async from the server thread. This change should immediately result in eliminating almost all lag spikes (the only remaining ones are from players teleporting). However, most importantly, the new system allows us to open multiple servers and share data between them without any fear of desync.
- Player data is now loaded into a cache asynchronously before the player logs in
- Player data is now saved asynchronously whenever a change is made, as well as independently updating the internal cache
- The database is now the authority, not the server – server now reloads player data from the database periodically, rather than auto-saving to the database
- The new code is designed to work concurrently, which improves stability
- Since the server updates changes to the database immediately rather than on a timer, server restarts should no longer lead to data loss for changes made right before the restart
- The new code is designed to share a database across multiple servers, and even works with significant ping server-to-server
Thanks to Vagnedes for the freely-available MySQL API, and LuckPerms for an example of a MySQL system that runs fully asynchronously.
- Fixed a major long-standing glitch where after you level up you might have negative experience, which also caused players to progress slower than intended, especially in the early levels
- We might raise the level requirement of PVP lobby again now that this glitch is fixed
- Fixed a major glitch where the server might randomly freeze and crash, which was caused by forcing async MySQL onto the old database backend which was not designed with concurrency in mind
- Fixed a long-standing glitch where the locked weapons in loadout menus looked like Tactical Awareness Grenades. Now they should have the icon of stone buttons
- Fixed a glitch where players could receive aim punch during spawn protection
- Rocket launchers in MobArena will now become unbreakable when you swap to them
MULTI SERVER SYSTEM GRADUAL ROLLOUT
Just a PSA: in the next few days we will be actively developing and testing a new system which will let us run multiple PVP servers. This will ensure a 100% lag free PVP experience and allows us to have more players on the server at once than ever before! We are going for an automated system to run and update these servers like what a large minigame network would use.
Expect the Competitive lobby to be switched over to a new server first. We will fully switch over all other PVP lobbies to the new system in our next update.
- Fixed a glitch with the recently-introduced async GUI system where the PVP shop and gun menu would randomly break for all players until the server is restarted
- Fixed a glitch with the new database system where new players’ data was not being saved properly due to an oversight in the MySQL API we use
- Made the spawn a lot less saturated with accent colors
- Both halves are the spawn are now red
- All colored blocks that do not form a horizontal line have been reverted to the original gray blocks, leaving much less red behind than before
- The newbie lobby has been fixed up a bit so the join villagers are no longer sitting in 1×1 holes
- Fixed a data corruption/reset glitch. Now it will simply kick you if your inventory fails to load, unless you are a new player of course
- Fixed a glitch where crates saved to the database did not stack
- Fixed a glitch where the PPSh-41 had no name in Stalingrad Scenario
- Fixed a glitch where killing someone with the Gold Knife after the round ends would show an erroneous “You have obtained weapon 18!” message in Arms Race
- Fixed a glitch where you could reload RPGs in MA to get infinite ammo
- Fixed a long-time glitch where you could plant a bomb before completely swapping to it
- Fixed a glitch where new players did not gain EXP properly
- Increased the delay of the reconnect plugin before attempting to reconnect, so it should now work more reliably given the long startup times of the main server