You are currently viewing Update 1.20: Holiday Update

Update 1.20: Holiday Update

Hello all,

Happy holidays! As your Christmas present from GunColony, we have introduced 4 new weapons in this update! Today’s update adds 3 new loadout weapons and 2 special game-mode weapons.

We have also added a newly reworked Mob-Arena map by Hotline_101, and introduced new Buy Station items when playing on all Mob-Arena maps without access to the sky. Many scenarios and Arms Race have also been updated with the new weapons.


Often nicknamed the “Record Player”, the DP-28 is a powerful Soviet light machine gun and the first machine gun in GunColony firing the 7.62x54mmR cartridge. It is loaded with a 47-round pan magazine by default, which can be increased to 60 rounds. It is available in both regular loadouts and the Scenario Mode.


The Obrez is a Mosin-Nagant that has been cut down in length to serve as a secondary weapon. While relatively inaccurate, the 7.62x54mmR ammunition is very deadly at close range and serves as a high-risk, high-reward option for a sidearm.


The Gilboa Snake is a unique AR-15 pattern rifle with two barrels, two magazines, and two trigger groups, and a Legendary rarity in-game. The weapon features a uniquely high ammo capacity of 60 rounds, which can be extended up to 80 rounds. It has a semi-automatic and burst fire mode, as well as a unique modification to switch to a 2-round instant burst by connecting the weapon’s two triggers!

The Gilboa Snake can be earned normally by leveling up, or through a special holiday quest!


The Luger P08 is a World War II German officer pistol with a distinctive look, giving Scenario players a high fire-rate alternative to the standard P38. However, it has a special recoil behavior distinct from other pistols, which makes rapid-fire more challenging.


The Milkor MGL grenade launcher has now received a unique weapon model for Scenario Mode. It is also now available as a Mob-Arena shop weapon (more on that below)!


The Lab map has been totally reworked by Hotline_101 with a new design, improved performance, and higher difficulty!

Fight in an underground laboratory to contain a dangerous leak of a zombie virus and experimental monsters. Purchase new explosives at the Buy Station that are suited to the map’s underground environment, and learn to defeat nine unique bosses and mini-bosses. You must take advantage of the vast size of the Lab and keep moving in order to survive, and try not to be cornered!


100-Round Box – MG3

Loads the MG3 with 100-round ammo boxes, doubling the magazine capacity of the weapon at the cost of massively slowing down reload speed. The total amount of ammo available stays the same at 200 rounds.

Special Fast Bolt – MG3

Installs the bolt from the MG42 onto the MG3, greatly increasing the weapon’s rate of fire! However, the bigger problem might be affording it, as this costs an extra 4 Supply to equip!

30-Round Magazine – AS Val

Extends the magazine of the AS Val to 30 rounds, but comes with more downsides than normal to present a trade-off with the normal 20 round magazine.


Quite a few Mob-Arena arenas in GunColony are mostly or entirely underground, including the new map, Lab. This means that existing air support options in the Buy Station are useless in these maps.

To fix this issue, we have now added a new version of the Buy Station to replace the existing shop specifically in underground maps, which contains four new items instead of the original airstrike options:

  • HK69A1 Buckshot – a grenade launcher loaded with 10 Buckshot rounds with tremendous stopping power. Costs $1000 to purchase.
  • Timed C4 – a new single-use explosive that annihilates everything in a 20-block blast radius, and can damage mobs through light cover! However, it takes 20 seconds to explode after being thrown. Costs $2000 to purchase.
  • Milkor MGL –  an automatic grenade launcher that can fire 6 grenades before reloading, with 12 grenades in reserve. Costs $4000 to purchase.
  • Minigun – the classic Minigun, loaded with 500 7.62mm rounds ready to decimate everything in its path! Costs $5000 to purchase.

List of Mob-Arena maps that count as underground:

  • Lab
  • Museum
  • Nautilus
  • Nether

Note that mob drops are not changed at the moment for technical reasons, meaning that mobs may still drop airstrikes occasionally in underground maps, but we do have plans to adapt mob drops to the map type as well in the future.


The Mob-Arena shop has seen some balance changes to improve the pacing of gameplay and encourage using the Buy Station for supplies throughout the match.

  • M202 Flash (rocket launcher) cost reduced from 3500 -> 2500
  • Mini-Nuke cost increased from 7000 -> 10000, damage in Mob-Arena +50%
  • Stun Grenade cost reduced from 500 -> 400
  • Soup has been replaced by Bandage (price remains the same at 500)
  • Health Pack cost reduced from 1600 -> 1200
  • Medishot cost reduced from 2000 -> 1600
  • HK69A1 Buckshot: number of pellets increased from 25 to 30, increasing the weapon’s effectiveness (this affects the new Shop item as well as the existing kit item)

In addition, some boss skills have been adjusted.

  • Wall of Blindness: now applies Weakness III to any mobs getting hit by it, including friendly and enemy mobs
  • Teleport to Player: significantly increased activation delay to make it more fair to players: Normal mode delay increased from 10 to 20 ticks; Expert mode delay increased from 0 to 14 ticks; minimum delay set to 5 ticks


The resource pack has been updated with various improvements (thanks Herobrine_2143), such as an improved Knife swiping animation.


4 new Holiday Quests have been added! You can unlock all 3 new weapons early, and earn Weapon XP Tokens and a Giant Crate by completing the quests!


  • Mannerheim scenario: added Obrez to both sides, and DP-28 to the Soviet side replacing the Lewis (which had been a placeholder for the DP-28)
  • Continuation scenario: added Obrez and DP-28 to both sides (DP-28 replaces the Maxim-Tokarev on the Finnish side and the Lewis on the Soviet side)
  • Normandy scenario: added P08 to the German side replacing the Double Barrel
  • Stalingrad scenario: added Obrez and DP-28 to the Soviet side, and P08 to the German side replacing the Double Barrel
  • AtlanticWall scenario: added P08 to Greater German Forces
  • Austria scenario: added P08 to the German side; German team renamed from “German Army” to “German Forces”
  • Jungle scenario: added DP-28 to the North Vietnamese army, replacing the MG34
  • Nuketown scenario: added DP-28 to the Warsaw Pact, replacing the QBB-95
  • ProSnipe scenario: added Obrez, replacing the Colt Python
  • Noobtubes scenario: added the new Milkor MGL model
  • BoltAction scenario: added Obrez
  • LaserBeam scenario: replaced the Skorpion with the Obrez


The Stalingrad map has been enabled as a limited-time playlist! Fight in the Battle of Stalingrad of 1942-43, and try out several new weapons in this updated Scenario featuring the DP-28, Obrez, and Luger P08!


  • Szecsei-Fuchs DB Rifle: added a burst-fire mode with the same behavior as the Mossberg OU and Double Barrel
    • Two rounds are fired at the same time, with a trigger delay
  • .44 Magnum Conversion (Desert Eagle): removed movement accuracy bonus, removed movement speed bonus, reduced all recoil bonuses from 25% to 20%
  • .357 Magnum Conversion (Desert Eagle): increased damage penalty from 25% to 30%, removed movement accuracy bonus, reduced movement speed bonus from +2 to +1
    • These changes are intended to make ammo modifications on the Desert Eagle more of a trade-off with the base weapon rather than a straight upgrade in PVP game modes. In particular, the .357 Magnum version of the weapon can no longer one-shot kill against helmets at long distance.
  • Lightened Bolt: Removed an unintended 15% recoil stabilization penalty. However, added a further 5% movement inaccuracy nerf since people seemed to be succeeding with the modification just fine despite the unintentional drawback.


  • Some early Mob-Arena unlock levels has been reshuffled to place Lab at level 5 instead of 3
    • This is to reflect its now higher difficulty and allow it to be chosen for Endless
  • Added the following new and existing weapons to Arms Race:
    • Luger P08
    • DP-28
    • Obrez
    • Gilboa Snake
    • Fort-224
    • Henry
    • MG 42
    • Maxim Gun
  • (Added on 12/14/2023)
    • Added support for Minecraft 1.20.3 and 1.20.4
    • Added a system that automatically restarts servers if detected to be unresponsive. This should prevent any instances where a server was frozen and down for hours.


  • Introduced a new “Projectile Sound” system to fix the issue where the Mini-Nuke’s activation sounds stopped playing if the player switched to a different weapon
  • Fixed a bug where several modifications did not have the “Weapon Specific” text in the modification menu as intended


This month, we have made some key progress in a few new areas of the Place engine. We have decided to prioritize creating a Minecraft and Discord-integrated chat and moderation system first, as these systems will allow us to showcase the new engine’s capability while not affecting GunColony’s existing gameplay code – and since such a system has to be implemented eventually, it simply makes the most sense to do it now rather than later. To work towards this, we have begun setting up a basic framework of player accounts and profiles, as well as a command system.

The account system is relatively standard, but simultaneously custom-tailored to the game(s) that we hope to build on the Place engine in the future. The system manages user accounts which do not have a username and password unlike a standard account system, but can instead be linked to a variety of platforms in the future. We plan on starting with Minecraft and Discord, although only Minecraft linking has been implemented at this point. In any case, Place accounts have separate UUIDs from the player’s Minecraft account in order to reduce confusion and support future players who create accounts outside the Minecraft platform.

Each user account can in turn have multiple player profiles. This is mostly to facilitate development testing, allow multiple profiles on the same account for community creators, as well as future-proof the system so that multiple future games can share accounts but not player profiles. We are not sure whether to allow multiple profiles on the same account for regular players in the future due to concerns of abuse, but that would be technically supported as well.

The player profile contains all gameplay information such as player level, loadouts, stats, etc. Once the player successfully logs in, the game server will only work with the player profile, and does not need the account information except for niche cases such as responding to new account-wide punishments (bans and mutes).

Aside from the account system, we have also created a work-in-progress system for executing commands. It uses a command tree similar to Minecraft’s command system. When a command sender enters a command, the parser will parse each word and traverse the command tree according to “constant” and “variable” arguments. The node in the tree that is reached at the end of the entire command will be the node that is executed. The server can also serialize and send its command tree to the client in order to support client-side syntax highlighting without exposing how the server actually executes the commands.

The command system is built on a broader system called “meta-functions”, which (simplifying a lot here) allow commands to be executed in a standardized way. The system is written entirely in Kotlin Multiplatform, meaning that client-side commands are possible as well. Also, meta-functions are designed in a way that they can also be used for future features such as in-game programming and signal mechanics. (This will be a performance-friendly replacement for Minecraft’s redstone – think Scratch programs built out of in-game 3D blocks that execute at the speed of Python.)

One of the neat things about the meta-function system is that it also allows commands to return a value. If you enter a command that returns a value, the value will be displayed in chat alongside any other command output. However, in the future, we will also allow commands to pass values to each other through nesting, which we will discuss more later.

Another upcoming feature in Place’s command system is support for multiple command types. This allows the client to support both client- and server-side commands, as well as the server to properly support its multi-threaded environment. We will also get to discussing this in due time.

Finally, the command system in Place is also designed to be more performant than Minecraft, such as using measures to avoid splitting, substringing, and boxing primitive values as much as possible. In general, considering that commands will be executed rapidly by in-map automations in the future, it pays to make things super optimized from the beginning. We want mappers to have the freedom to define custom mechanics, but do not want a repeat of laggy Minecraft command blocks and datapacks!

Leave a Reply