2022-01-03_01.10.11

Update 1.5.2: Elephant Gun

Hello all,

This minor update brings back the much-requested L39, as well as the STG-44 and the M1014. It also fixes an important memory leak in PVP as well as several other issues.

 

RETURNING WEAPONS

Lahti L-39

An anti-tank rifle which is realistically impossible to handle by one soldier. It cuts your movement speed in half, but essentially gives you a 20mm autocannon in exchange! As the most expensive weapon in the game, it can be equipped to fire APHE, Frag, HE, and Incendiary rounds to dominate long-range situations provided that you are fine with being stationary.

STG-44

The world’s first widely-used assault rifle. It is the cheapest assault rifle, tied with the IMI Galil, and offers a good sustained-fire accuracy unlike the Galil at the cost of only having a 500 RPM rate of fire. It is a jack of all trades, master of none – while its overall performance is significantly worse than more expensive weapons, one may still wish to use it to save Money or Supply Points depending on the mode. The STG-44 lacks specialized ammunition types.

M1014

A no-frills semi-automatic shotgun. While the close range damage is similar to the SPAS-12, the M1014 has a slower fire rate and higher recoil, but tighter spread and better effective range. It has the same supply cost as the SPAS-12. It unlocks at Player Level 1. Noob gun!

MOB-ARENA CHANGES

In Update 1.5, Creepers in Endless mode could now give beneficial effects to nearby mobs and players when exploding. While it was fun, they were very overpowered as it meant that players could easily obtain permanent potion effects like Speed, Regeneration, and Jump Boost. We have decided to nerf these effects but keep them in the game, but in return, mobs in Endless can now spawn with Netherite weapons and armor.

  • New mobs introduced between Minecraft 1.13-1.17 will now have correct XP values when defeating them.
  • Updated disguise plugin to hopefully fix various issues with disguised mobs
  • Nerfed the potion effects from Creeper explosions that were unintentionally introduced in Update 1.5
    • Limited the level of Regeneration and Jump Boost to level 1. Speed, Strength, and Absorption are still unlimited
    • Effects now only have a 5% chance to be permanent. For the other 95% of the time, the effect on the Creeper will be a random duration between 1 and 20 minutes
    • The Absorption effect will never be permanent
    • It is still very much worth going for Creeper potion effects, but they are no longer completely overpowered!
  • Turtle Helmets now count towards armor when calculating gun damage
  • Mobs in very high rounds in Endless can now spawn with Netherite gear
    • When calculating gun damage, Netherite armor is counted as having 1 extra armor point per piece compared to diamond armor
  • Mobs in Endless will now have a higher chance of spawning with weapons at higher rounds
  • Anvils will no longer break when used in Mob-Arena

BUG FIXES

  • Fixed a major bug where a memory leak caused the PVP and Competitive servers to crash after a few hours
  • Fixed a bug where you could see your own disguise in Zombie Siege
  • Fixed a bug where advancement messages were not properly disabled
  • Fixed a bug where teammate nametags appeared white instead of their intended color
  • Fixed a bug where the Reduced Debug Info gamerule was not being applied in-game
  • Fixed a bug where the High Voltage Gloves was missing reload sounds
  • Fixed a bug where the ZCart custom mob looked like a player instead of a spawner minecart

Hotfix January 4th, 2021:

  • Fixed a bug where the new mob armor changes did not work
  • All chunks are now unloaded on round end in PVP and Competitive to further reduce memory leak issues
  • Added caching of item NBT data to significantly improve performance
    • This was necessary because the new 1.17 method of retrieving NBT turns out to be much slower than the old 1.12 method and causes significant CPU usage
    • This may introduce subtle issues in the gun system because some of the code wasn’t designed with this caching in mind. If you run into any issues, please report it on Discord so it can be fixed
  • Reduced the frequency of sending the player movement speed and FOV packet
    • This slightly reduces server CPU and network usage
    • Packets are now only sent once per two seconds, or if the player’s speed or field of view changes

Hotfix January 5th, 2021:

  • World references in the map system are now nullified on game end in PVP and Competitive to further reduce memory leak issues
  • Fixed another potential source of the memory leak issue in the scoreboard system
  • Fixed a bug where an old admin command was accessible by regular players using the tab auto-complete
  • Disabled auto-update for a plugin that would occasionally cause the server to hang on startup
2022-01-02_01.08.20

Update 1.5.1: Timely Fixes

Hello all,

We have released a minor update to fix the most pressing issues in yesterday’s Update 1.5 and improve the Zombie Siege gamemode.

ZOMBIE SIEGE CHANGES

The round timer in Zombie Siege has been reduced from 5 minutes to 4 minutes to give humans more of a fighting chance, since the “humans can just camp ladder and win” maps have been removed in the previous update.

PLAYLIST CHANGES

We have improved the CS:GO competitive scenarios.

  • Added Inferno, Vertigo, and Nuke to the CS:GO scenario
  • Added MP5SD and M4A1

Additionally, we have replaced One in the Chamber: Random Spawns maps with FFA to improve the pacing of the game.

BUG FIXES

  • Voting now works again
    • We will replace the non-working vote sites soon
  • Fixed a bug where players may spawn facing straight down in newly configured maps
    • Players now always spawn with 0 pitch since in the building server, one cannot see the pitch of an armor stand
  • Spawn chunks are no longer loaded in servers
  • Added a check that will unload worlds that are no longer in use in an effort to prevent memory leaks
  • Added a check that will remove worlds from the new BlockStore if it has no loaded chunks in an effort to prevent memory leaks
  • Fixed another bug that led to players having no recoil
  • If an error occurs when calculating recoil for a player, other players will no longer be affected
  • Added back the loadout sign in the PVP lobby
  • Fixed a bug where death messages were shown in Discord #server-chat channel
  • Fixed a bug where you spawned in the sky in Highrise when starting a game

KNOWN ISSUES

  • 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 Discord linking system is still iffy
  • In Zombie Siege, when playing as a zombie or wolf, you can see your own disguise which is unintentional
2022-01-01_10.36.34

Update 1.5: New Beginnings 2022

Hello all,

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.

You may also want to install the MovementFix mod to fix a bug that causes laggy movement in GunColony in modern Minecraft. It requires Fabric.

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.

ANTI-XRAY 2.0

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.

WEAPON DEDUPLICATION

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.

OTHER CHANGES

  • 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

PERFORMANCE IMPROVEMENTS

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.

BUG FIXES

  • 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)

KNOWN ISSUES

  • 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