As 2022 arrives, GunColony enters a new beginning with this grand update to Minecraft 1.17. Not only are we updating to a new Minecraft version for the first time since 2017, we have also added a brand new map-building system that allows builders to create maps more easily and even edit existing maps that are already in-game. This update is designed to be a foundation of much bigger things to come in 2022!
Additionally, this update includes a new remake of Nuke from CS:GO that takes full advantage of the new 1.17 block palette. Also in the show are numerous important bug fixes, immense performance improvements to match loading, a new anti-wallhack system, and the addition of new mobs to some Mob-Arena maps.
This 1.17 build of the server is of beta-quality, so new issues are expected. Please report any bugs on our Discord server.
MINECRAFT 1.17.1 SERVER UPDATE
Finally! After the culmination of months of work, GunColony has been fully updated to Minecraft 1.17.1.
You may not notice much difference at first, but updating the server gives us much more possibilities for new features in the future. For example, expect a revamped GUI and HUD system, a greater variety of blocks in new maps, and various challenging new mobs in Mob-Arena in the near future.
You can still join with 1.12.2, though new blocks and mobs will display incorrectly and have the appearance of the closest 1.12.2 counterpart. However, you are encouraged to update now, as maps will soon be converted to make use of new mechanics like the 1.5-block crouch height in modern Minecraft versions.
NEW MAP SYSTEM
We have created a new in-house map system that gives builders much more flexibility in building maps for GunColony.
- This map system is used by PVP and COMP
- PVP lobbies do not use the new map system and continue to use the arena world
- Mob-Arena also continues to use the arena world for now, until suitable custom code to replace WorldGuard regions and class signs is developed
- All existing maps have been converted to the new map system
- Every map is now its own world
- Worlds are stored in MySQL and loaded when a match begins
- This is a superior system to WorldEdit schematic pasting due to its speed and the fact that file syncing is no longer necessary
- Spawns and objectives are now marked with armor stands rather than configuration code, meaning that builders can now edit them without the need of admins
- Builders can now edit maps that already exist on the server. When edits are published by the builder, the changes are applied immediately in-game
- Added random objective support to King of the Hill and Demolition
- In Demolition, if multiple objectives are configured, a random one will be chosen every round
- Objectives can now be made up of a union of multiple spheres, instead of just a single one
- When there are multiple armor stands for the same objective, the objective marker that appears in-game has the average location of all of the armor stands
- The ability to create objectives of other shapes is planned for the future
- Maps can now have metadata, such as authors, description, and size rating
- They are unused for now but will become important soon
- In StaffBuild, worlds are only loaded when a builder teleports to it, and unloads after one minute without any players in the world
- A sophisticated list of commands has been added to the 1.17 StaffBuild server to interact with the new building system
- The map metadata is stored in relational MySQL. This is the first time custom MySQL tables have been used in GunColony outside of storing player data
- More MySQL-based features will be coming soon, such as a new match status display system that will fix the “0 players ongoing match” bug
NEW MAP: NUKE
The first map utilizing the new map system has arrived in GunColony: a brand-new recreation of CS:GO’s nuke from pale1! Not only is it a faithful recreation of the original map, it also uses the new armor stand system to mark spawns and objectives, and the new 1.17 blocks really make the map come to life.
P.S. these screenshots are shown with the armor stand markers used when building the map. In the future, we will add the ability for builders to hide these markers for the purpose of taking screenshots.
We have added a player occlusion algorithm exclusive to GunColony that hides players behind walls. This algorithm has two purposes and we consider both to be very important. First, it helps prevent wall hacking in GunColony. Second, it increases the client-side performance of all players, since other players and especially the gun model in their hands will no longer be rendered behind walls and lower your FPS unnecessarily.
The GunColony veterans among you might remember that we used to have a similar system back in around 2017, called the “Anti-Xray”. However, it was unoptimized and would trace upwards of 100 rays every tick between each pair of players, which would cause significant server lag with more than roughly 10 players in the same lobby. We have learned from our past experiences and spent meticulous effort this time to design the algorithm for maximum performance. Indeed, it is designed to not lag even if 100 players are online in the same server.
Also, this system hides friendlies too for maximum FPS, but only does so when they are more than 64 blocks away to avoid messing with nametags.
We have added weapon deduplication code to address a rare issue where duplicates of weapons show up in the player’s inventory. This is a bandaid-fix until we eventually change how the player weapon inventory is stored to ensure this bug cannot happen in the first place.
- This code will only delete duplicate weapons that are level 1 and have 0 XP to avoid removing any player progress.
- Block hitboxes used in bullet and explosive calculations are now much more accurate, especially for special blocks like doors and trapdoors.
- The scoreboard now uses normal font to show the “<- YOU” notification, because the previous wide font has too much gap between characters for 1.18 players
- Weapon fire modes still use the wide font for now
- Game servers now teleport players to the arena world spawn on join
- The GUIs of the clickable items at spawn have been improved
- Spawns and Objectives in Ruby have been greatly improved
- The Fabulous Mode crosshair now displays MUCH more consistently
There were several performance improvements in this update, which should result in greatly reduced lag when loading maps and the ability to support more players on the server.
- The CPU time used by the server to send chunks to players has been significantly reduced. This greatly improves the loading time when starting a large PVP match.
- Multiple packets can now be combined into one when sending to the client, resulting in significantly better network performance for slower connections.
- The server no longer pastes a WorldEdit schematic when starting a map. This additionally improves the loading time when starting a match for large maps. It also helps reduce network usage and increases loading speed for large lobbies and players with slow connections.
- The Anti-Xray will hide players behind walls and increase FPS.
- Bullets will no longer load chunks, reducing the CPU usage of the server.
- The entire map is now chunkloaded at all times during a match, reducing the CPU usage of the server. The chunk loading process itself occurs gradually during the five seconds of pre-game loading time of the map, and so should cause minimal lag.
- A new block store system has been added which allows async access to blocks and massively improves the performance of line-of-sight checks.
- Converted projectiles to use the block store whenever possible, resulting in ~3x speedup in block collision performance, and up to 2x overall speedup to projectile performance!
- It also allows adding more complex algorithms like the Anti-Xray and future plans for custom mob AI.
- Greatly reduced the CPU usage of projectile creation by caching weapon NBT data (weapon stat access sped up ~2.5x)
- Fixed a performance issue with Bullet Tracers particles (~50x speedup)
- The server now runs on OpenJ9 JVM, which was impossible in 1.12.2 due to various issues. This dramatically lowers memory usage and allows running more servers on the same hardware.
- The server now uses the OpenJ9 default garbage collector (gencon) instead of G1GC. This reduces multicore CPU and RAM overhead of the server significantly and allows running more servers on the same hardware.
- Various speedups from new Paper and Airplane server software benefit the performance of vanilla features used in GunColony.
- For example, long-distance mob pathfinding now runs at reduced frequency, which results in huge performance savings in Mob-Arena
- However, some vanilla features might still be slower compared to 1.12.
- Fixed a major bug where the bomb could not be planted in Competitive mode
- Fixed a major bug that occasionally caused weapons to have no recoil
- Fixed a major bug where the Dual Beretta and High Voltage Gloves had infinite ammo when fired in a certain way
- Fixed a major bug where the Essentials plugin caused extreme CPU usage (4+ threads at 100%) and sometimes lag in the lobby server
- Fixed a major bug where pressure plates in maps could not be triggered
- Fixed a bug where unreleased Early Access modifications would be removed from weapons when switching servers
- Fixed a bug where the /tps command kicked players with a weird message
- Fixed a bug where a console exception was thrown when the Trump Wall skill spawns a creeper
- Fixed numerous other issues
- Mob skills that depend on MythicMobExtension, such as ghosts floating, now function on 1.17 (they did not work on the 1.17 test server prior to this update)
- The hit detection ping compensation system now functions on 1.17 (it did not work on the 1.17 test server prior to this update)
- Broken glass and other modified blocks in Competitive currently do not reset when a new round begins. We will add a system to keep track of broken blocks and reset them soon.
- There is a rare chance that the damage indicator in Mob-Arena does not show properly and an armor stand appears to float in the air instead
- There is a rare chance that the equipment of mobs is not visible (especially problematic with Pumplings since they become fully invisible when this issue occurs)
- Killzones in PVP do not work at this moment
- New mobs in Mob-Arena give less kill XP rewards than intended
- You can currently still get Perks from crates which is unintended
- The PVP lobby is missing the loadout customization sign
- Join messages are not displayed when players join the lobby
- The #server-chat Discord channel is currently spammed with “<player> died in PVP”
- The Discord linking system is still iffy