The Howitzer! Rain explosive shells from above to disrupt and eliminate the enemy. Shells that land in the vicinity will knock back.
The Barracks! Customise all classes across all factions with your preferred uniform, head, weapons and voice pitch.
Player Cards! Customise your personal player card with unique unlockable banners, portraits, titles and medals. Keep an eye out for future updates for more on this front.
Random Map Vote! Not too keen on the current selection of maps available? Cast your vote for a random map. This function is customisable via server configuration commands. We’re sure it will come in handy when hosting events.
A Fresh UI! From the moment you launch the game and all the way until you finish a match, you’ll see a whole new UI that has been designed and created to further improve the user experience and provide much-needed modularity for future updates that the old UI simply didn’t allow for.
Customisable UI! Change the position of the health bar, game chat, minimap and kill feed to your preference. Come this update you’re also able to adjust the game chat’s font size as well as the minimap’s size.
Seasonal Global Leaderboards! Compete for the highest score in classless leaderboards split across the game’s Napoleonic and WW1 fronts.
Seasonal Regiment Leaderboards! Compete in a seasonal race to the top alongside fellows in your regiment. Regiments that gather the highest score through participating in public events or playing on official servers will appear at the top of the registry list.
Regiment Discords. Players are now able to join a regiment’s Discord by scanning a QR code.
Explosion Knockbacks. Explosive barrels now pack a bigger punch and will knock back the enemy if in the vicinity.
Enlisted Service. An enlisted will no longer count as part of a regiment’s strength if they haven’t logged in 30 days. Inactive individuals will still remain members of the regiment and will be counted once more as part of the regiment’s strength should they become active.
In-Game Store. Gift or purchase Holdfast’s cosmetic DLCs through the game.
The introductions of player cards come with additional unlocks for all existing cosmetic DLCs.
A wider selection of crosshairs has been made available.
Introduced new admin tools accessible through the Round Players ‘P’ panel allowing administrators to slap, bring or go to another player.
Introduced dynamic artillery spawn sections configurable by server configuration commands. You can also set randomised artillery to spawn on map load through this new function.
The new addition of the administrator role provides access rights to everything in the regiment with the exception of disbanding the regiment, promoting others to the administrator role or kicking the regiment’s owner. That’s mutiny, Sir!
Redesigned and redeveloped from the ground up Holdfast’s regiment registry, leaderboards and stats backend systems to improve stability and allow for the future expansion of content.
Quality of Life
You are now able to set to default keybinds and settings.
You are now able to search through the game’s keybinds and settings.
You now automatically join a server after downloading mods.
You can now access the regiment registry from the escape menu whilst playing a match.
Introduced search functionality to all areas of regiment management. Adhering to enlistment requests, editing ranks as well as managing members.
Increased maximum amount of ships visible in the naval UI (7 -> 16).
Gameplay
You are no longer able to place squad camps in water.
Specific classes are now able to run while carrying projectiles and artillery ammunition boxes.
Increased movement and rotation speed of field guns.
Reduced the field gun’s cannonball bounce damage.
Players are now able to rotate the camera while loading cannons, ramming cannons and climbing.
Players are now able to zoom while aiming cannons.
Rockets are now able to damage a ship’s hull.
You are no longer able to damage structures and buildable objects when loading round shot into a swivel gun on Holdfast’s army front.
Centred the swivel gun aiming camera for a better representation of the shot trajectory.
Improved visibility of mortar trails.
Your squadmates are now highlighted in green on the scoreboard.
Your crewmates aboard the same naval vessel are highlighted in green on the scoreboard.
Moved the giant tree on Ancient Plains blocking the artillery’s line of sight in spawn.
Added a mortar for the defenders to use on Fort Al Farid.
Moved the A spawn point behind the spike defences on Balamor Bay.
The large cannon atop the tower on Balamor Bay now has a better line of sight.
Cannons present on the piers of Balamor Bay are now able to rotate further inwards.
Introduced more obstructions covering the left flank on Heroes Landing.
Players now have more granular control over their character’s voice pitch.
Removed multiple variations of grapeshot from ammo boxes. You can now simply load a grapeshot into a piece of your choosing and the grapeshot’s potency will be automatically determined based on the artillery piece you loaded it into. Ie. Grapeshot loaded into swivel guns are less powerful than those loaded into a moveable field gun.
Redesigned the spray pattern for grapeshot to have more spray variation.
Introduced a new spawn menu with a twist.
Optimisation
Performed several server-side optimisations.
Performed minor client-side optimisations.
Performed a first-pass optimisation to reduce the game’s file size.
Performed optimisations on mod-loaded terrains.
Performed server optimisations to improve the game lobby’s robustness.
Optimised shadows cast by certain structures.
Optimised prop rendering on Port Nile.
Graphical
Performed a graphical pass on multiple game assets.
Introduced new firing animations for artillery pieces.
Introduced a camera shake effect for explosions.
Improved the animation for when a player is moving the field gun.
Introduced a new import command allowing server configuration files to import data from other text files. Use import <relativeImportFilePath>.
Emplacements can now be spawned using the serverconfig objects_override command. This also supports custom faction as an optional command parameter.
Configure the number of maps available to vote for by placing max_map_voting_choices <numberOfChoices> (range: 2-4) in the server configuration file.
Enable or disable the random map vote selection by placing include_random_map_vote <enable> (default: true) in the server configuration file.
Override an existing artillery spawn on a map of your choosing by placing artillery_spawn_override <slotId> <ArtilleryType> in the server configuration file within a map rotation. ArtilleryType can be: FieldGun, Howitzer, RocketLauncher, Mortar, None, Random, RandomSymmetric.
Use rc set cannonLoadingSpeedMultiplier <value> to increase all cannon loading speeds.
Use rc set explosionKnockbackAngle <angle> to define the knockback angle from explosions.
Use rc set explosionKnockbackForceMultiplier <value> to increase the knockback force from explosions.
Use rc set explosionKnockbackMaimedTime to define for how long the player is unable to move after hitting the ground when hit by an explosion knockback.
Use rc set shrapnelGroundLethalRange <value> to set the radius from explosion in which players die from a shot that lands and then explodes in the ground.
Use rc set shrapnelGroundInjuryRange <value> to set the radius from explosion in which players take damage from a shot that lands and then explodes in the ground.
Use rc set shrapnelGroundKnockbackRange <value> to set the radius from explosion in which players get knocked back from a shot that lands and then explodes in the ground.
Use rc set shrapnelGroundDamage <value> to set how much damage players take when caught in the injury radius from a shot that lands and then explodes in the ground (damage is constant irrelevant of distance to the explosion).
Use rc set shrapnelGroundForce <value> to set the strength of the knockback from a shot that lands and then explodes in the ground (knockback strength is also higher the closer you are to the explosion).
Use rc set shrapnelAirborneLethalRange <value> to set the radius from explosion in which players die from a shot that explodes in the air.
Use rc set shrapnelAirborneInjuryRange <value> to set the radius from explosion in which players take damage from a shot that explodes in the air.
Use rc set shrapnelAirborneKnockbackRange <value> to set the radius from explosion in which players get knocked back from a shot that explodes in the air.
Use rc set shrapnelAirborneDamage <value> to set how much damage players take when caught in the injury radius from a shot that explodes in the air (damage is constant irrelevant of distance to the explosion).
Use rc set shrapnelAirborneForce <value> to set the strength of the knockback from a shot that explodes in the air (knockback strength is also higher the closer you are to the explosion).
Use rc set killerPlayerCardDuration to define the minimum time the player card will show.
Use rc set meleeArenaRoundEndFactionWin to forcefully end a round in the Melee Arena game mode.
Use rc carbonPlayers <player_id> <score> <reason that allows spaces> command to add score to bots.
Use rc set allowSpawnedPlayersSpectateOnly <true/false> to allow only spawned players to spectate their own team. If the user is an admin, they can freely spectate.
Use rc set freeflightCameraAllowed <true/false> to allow only spawned players to spectate their own team. If the user is an admin, they can freely spectate.
Use rc set freeflightCameraAllowedPostPermaDeath <value> to allow players in a single-life game mode to only be able to use the freeflight camera after they die. If the user is an admin, they can freely spectate.
Exposed the following feature for modders through IHoldfastSharedMethods3.
» void OnStartSpectate(int playerId, int spectatedPlayerId); - This will be called when a player starts spectating someone else.
» void OnStopSpectate(int playerId, int spectatedPlayerId); - This will be called when a player stops spectating.
» void OnStartFreeflight(int playerId); - This will be called when a player starts using free roam cam.
» void OnStopFreeflight(int playerId); - This will be called when a player stops using free roam cam.
» void OnMeleeArenaRoundEndFactionWinner(int roundId, bool attackers); - This will be called on a melee arena round end depending on who wins the round.
» void OnPlayerConnected(int playerId, bool isAutoAdmin, string backendId); - This will be called when a player connects to a server. This is server only. Here’s the normal flow: OnPlayerConnected > Tell the player to loading screen > Player picks faction and class > OnPlayerJoined.
» void OnPlayerDisconnected(int playerId); - This will be called when a player leaves a server. This is server only. Unlike OnPlayerLeave, this happens even on people that didn't spawn in.