
Update 1.28: 10th Anniversary Update
MAY 31 2025
Hello all,
Today marks the 10th birthday for GunColony – the most significant anniversary for our project yet. In today’s update, we launch a new website for the server powered by the in-house web technology that will enable our development of a browser standalone game in the years to come. We have also added a new spawn to commemorate the occasion, as well as fixed long-standing issues such as player offset and voting. The last 10 years has been a wild ride, but the journey is just getting started!
NEW WEBSITE!
To celebrate the momentous occasion of our 10th Anniversary and mark a new beginning of our transition towards a web-based future, we have now launched a new website for GunColony with a modern aesthetic and blazing fast performance, powered by the latest version of our in-house Place Web Framework technology!
This new website redesign consists of an all-new theme, improved sidebar widgets, and full responsiveness with desktop and mobile browsers. It is also extremely optimized and performant by design and results in dramatically smaller page sizes and faster loading times compared to our previous website. Finally, it is designed to scale to high amounts of future traffic without leading to slowdowns.
According to a player survey, over 90% of players report their first page load speed on the new website to be less than half a second, and for over a third of respondents the website loads in under 0.2 seconds!
Our new website redesign and performance improvements currently cover all of our content pages such as changelogs (such as this one!) and the rules page. For now, other pages such as the home page, posts list and search pages are still served by the old website. Our plan is to implement these pages in the new site in future updates.
10TH ANNIVERSARY SPAWN
We have added a new 10th Anniversary Spawn complete with fireworks and birthday cakes to celebrate our 10th Anniversary! The new spawn variant is built by Mohorowe.
In addition, we have enabled some Fireworks in /kit tools!
DIFFICULTY VOTING FOR EVERYONE!
In this update, we have given the ability to vote for Hard and Extreme difficulties to everyone through the Mob-Arena difficulty voting GUI. These two difficulties were previously only available to donors.
Since donor ranks are unpurchasable right now, we do not feel the need to lock these features behind a rank anymore. In general, our future philosophy will be to lock gameplay-related features behind a paywall only if it is unsuitable to give to everyone due to reasons such as server costs or gameplay concerns. (For example, PVP would become chaos if everyone could add highly mutated maps, so the ability to add most mutators will continue to be exclusive to donors.)
In the future, we will add more worthwhile perks to these ranks, affecting existing and new owners, when we open access to them again through future purchase methods related to the standalone game.
PLAYLIST CHANGES
With the 10th anniversary we are bringing back some classic fan-favorite modes in GunColony for a limited time!
- Added Aviation Fighter Jet playlist
- Added Elytra Aircraft Scenario playlist
- These two gamemodes should now be much more enjoyable than before due to the fix in player offset, which should cause a large improvement when aiming at flying players!
- Added Kill Confirmed playlist
- A classic GunColony gamemode!
- Removed Pearl playlist
10TH ANNIVERSARY QUESTS
To celebrate the special 10th Anniversary, we have added exclusive quests for PVP and Mob-Arena which unlock two Golden weapon skins! These skins are exclusive to GunColony anniversary events, and future appearances of this skin will be more difficult to obtain than the current quest.
Note that currently, our ability to design quests is fairly limited due to our existing quests system. During the next year we will aim to release a much more comprehensive system of quests and achievements to GunColony in an effort to improve retention through giving players interesting ongoing goals.
10th Anniversary Mob-Arena Quest
- Requires 5 Wins in Mob-Arena Expert or Extreme difficulty, and 200 Waves survived in total.
- Rewards: Mk 18 | Gold; 10,000 Rifle XP tokens
10th Anniversary PVP Quest
- Requires 400 Kills and 500 Blocks Broken in PVP/COMP modes
- Rewards: AWM | Gold; 10,000 Sniper XP tokens
TECHNICAL CHANGES: CUSTOM SITE-SPECIFIC LOGIC
Due to having full control of our website theme, we are now able to make targeted adjustments to elements such as the social media embed on our webpages based on the typical contents of our posts.
For example, our previous social media embed data in the WordPress site used to include excessive amounts of information across multiple paragraphs that made it difficult to read:
In the new website, we are able to limit our embed data to only display the introduction paragraph, and we specifically adapt our logic to the format of our posts to omit “Hello all,” and similar greetings:
This is an example of the benefit of having a customized web rendering tech rather than relying on the default behavior of an existing system like WordPress’s frontend themes. Another example of this benefit can be seen in the “Latest Updates” section of our website, which extracts the update version numbers in our post titles and displays them in a different line for a more aesthetically-pleasing post list layout:
TECHNICAL CHANGES: HIGH-PERFORMANCE STATIC SITES
The new website is powered by our custom Place Web Framework, meaning that we have full control over every aspect of the generated webpage. Currently, all posts in our new website are fully static. This is a headless-WordPress setup, meaning that content is sourced from our existing WordPress site while a custom theme is applied on top with our HTML-generation logic entirely written in Kotlin. This means that we only need to generate each webpage once when the website is updated, and they can be accessed by any number of users without any additional compute. Currently, the static build step has to be initiated manually, but we plan to automate it so that any changes to our WordPress site will automatically trigger a new build of our public-facing website.
Performance is one of the strongest attributes of our new website, starting with the site generation performance. Since our Place Web Framework is actually intended for lightning-fast generation of dynamic pages, its performance is completely overkill for this static page generation task – a single CPU thread can generate an entire HTML page of a GunColony changelog post in as little as 3ms. In practice, generation speed is heavily bottlenecked by how fast our system can download posts and assets from our WordPress instance, which takes approximately 30 seconds (dependent on ping to the web host).
Our generated pages also achieve excellent file sizes, which improves loading speeds for visitors. Our new web redesign reduces the uncompressed size of HTML/CSS/JavaScript in a typical update changelog post from ~4,500 KB to only ~32KB, a >99% reduction, while achieving increased visual fidelity compared to our previous design. These results are a testament to the efficiency of building our own framework as well as of our advanced atomic CSS technology that inlines all styling information into the main HTML file for faster page loading. These performance characteristics are promising for the ability of our future standalone game to support smooth gameplay with dynamic HTML-based UI on low-end devices and intermittent connections.
Finally, we chose the Cloudflare Workers platform to host our generated static assets, as well as all image assets from the original WordPress site. Cloudflare offers free static site hosting and should allow us to scale to any number of visitors in the future without resulting in website slowdowns or excessive costs. Cloudflare also caches assets globally on its edge network, resulting in unparalleled site response times, with a typical page on our new website loading in a fraction of a second. For requests which are not available as a static asset, a Cloudflare Snippet rule causes the request to fall back to a direct request to our WordPress site. This setup allows us to gradually transition from our previous website to the new website as we work to support an increasing amount of page types in the new site over time.
TECHNICAL CHANGES: DYNAMIC WEB CONTENT
In addition to the static site functionality of our new website, we have also added dynamic functionality in the website to query our GunColony game server directly for content, since this is required to obtain information such as the current number of players in GunColony and the number of members in our Discord server.
To do this, our static HTML pages contain JavaScript logic that sends a request to the GunColony game server to request some custom HTML to display. The Place Engine’s web server responds with HTML including the server status and Discord widgets. The HTML responses are updated and cached every 10 seconds, so the web server should be well-equipped to handle an enormous volume of requests. Note that if the game server is not online, the logic will instead insert a “server offline” element after two seconds.
It is notable that our approach is actually technically a hypermedia-driven way of displaying dynamic content, albeit it is currently done with vanilla JavaScript instead of a library such as htmx/Unpoly/Datastar. We are hoping to start exploring integrating one of these libraries into our Place Web Framework in the near future with our planned web-based moderation platform, so that we can performantly serve the kind of advanced dynamic content that will be necessary for dynamic UI in the standalone game.
OTHER CHANGES
- Because the GunColony website content is now served through Cloudflare, we have moved the connection to the GunColony Minecraft server under “guncolony.com” and “www.guncolony.com” to a SRV record.
- Please let us know if you have trouble connecting under the new setup.
- Added a rule in the server rules to clarify that giving alive players information about a PVP/Competitive match while spectating is not allowed.
BUG FIXES
- Implemented temporary changes to fix a long-standing bug where player positions may appear offset in the PVP/Competitive gamemodes
- Improvements and fixes to server voting:
- Moved voting links to custom ones due to pending removal of Google URL shortener
- Removed a voting link that does not work anymore. Please suggest a replacement in our Discord!
- Voting on TopG should now properly grant voting reward
KNOWN ISSUES
- We are aware that the new website has scrolling performance issues on certain mobile browsers like Android Firefox due to the blurred blob background. We are looking into a fix or disabling the background on such browsers.