Operation Citadel cover
Operation Citadel screenshot
Genre: Strategy, Indie

Operation Citadel

8.1.2

Last update of the year :)

Happy new year in advance to everyone!

ADDED



  • Confirmation window when you are about to pick a policy from one category where you already have an active policy (to warn you about the fact that only one policy can be active per category).
  • New setting: auto skip previous turn summary window (under Misc category).
  • Possibility to leave an online PBEM game without any penalty when 48h has passed since the last player played its turn.
  • (SteamDeck) Virtual keyboard will now properly appear/disappear when handling inputfields.
  • (SteamDeck) Proper zooming with L1/R1.
  • (Mobile) new mod quality setting (low, medium, high) to allow user with little RAM to still run mods.
  • (Mobile) import mod button in the mods menu to circumvent Google's restrictions on storage access.


CHANGED



  • Joining the last slot in an open online PBEM game will now automatically take you to the 'continue' menu saving you a click.


FIXED



  • Online chat public channels had issues, as a result you would see almost no one online or everyone would be split in small sub groups.
  • Online PBEM games where you were playing more than one nation in a row would send the data to the server after every turn you played instead of letting you play through all nations at once.
  • In online PBEM games where you were playing more than one nation in a row would set you as the active player even when it was someone else's turn.
  • An email would be sent every time a player occupied a new seat in an online PBEM game even though he had already joined once.
    the game session (when choosing to play more than 1 nation for example).
  • An email would be sent every time a player left an online PBEM game even though he had not emptied all its seats.
  • Coastal artillery and land mine properties never resetting when upgrading/downgrading units.
  • Southampton was a city inland in the Sea Lion South scenario.

8.1.1

ADDED

  • Capitulation event for the USSR on the Europe scenarios (requires the loss of Moscow, Leningrad, Stalingrad, Sevastopol Murmansk and Baku).


CHANGED

  • Multiplayer compatibility version.
  • Game settings when hosting a PBEM game will now be properly sent to the PBEM server.
  • The AI will no longer redeploy its units guarding its borders.


FIXED

  • You could play a PBEM game with extra mods that were not required by the session and had a gameplay impact on the game.
  • Mods not displaying their names but their IDs instead (when coming from the Workshop).
  • Vichy France will now be properly created even if an Axis minor triggers France's capitulation.
  • No place to deploy german reinforcements on scenario start in Silver Fox (campaign).
  • P-40N was marked as carrier compatible even though it was not IRL.
  • You could not upgrade/downgrade a unit to/from itself when it was from another country.
  • Bug when trying to upgrade/downgrade a unit while having a full list of units in the basket list from previous pre-purchase actions.
  • De Ruyter Dutch cruiser had wrong start commission date.
  • UI scaling issues on the mobile version.

8.1.0

Hello all!

The beta for 8.1.0 has come to an end and is in good shape for a public release.

Special thanks to all of the people that participated :) Love ya'll!

As discussed previously, version 8.1.0 replaces entirely the old multiplayer server. No data could be carried over, therefore, you will have to create a new account to access online features (both chat or multiplayer, PBEM/realtime).

If you have a PBEM game going on on the old server, you have until January 1st to complete it.
You can install 8.0.7 back from the beta branch system on Steam: (Right-click the game → Properties → Betas → choose ‘8.0.7’)

ADDED



  • Brand new PBEM server.
  • Several new sections in the Manual.
  • 7.5 cm le.IG 18 and 7.5 cm Gebirgsgeschutz 36 light artillery to Germany.


CHANGED



  • All base game units end use year has been changed from 1946 to 1949.
  • Updated all of the realtime multiplayer libraries (we were quite a few versions behind).
  • Many sections of the manual have been cleaned up and reorganized.
  • Red color on damage breakdown is now brighter for increased readability on dark backgrounds.
  • End of turn menu will no longer appear when playing a singleplayer game (when going from one human player to another).
  • Foreign equipment is now available in the upgrade menu.
  • When upgrading/downgrading a unit to a modified version of itself, it will no longer be sent to the reserve.
  • Saving during multiplayer games is now allowed (all).
  • Rebalanced Low Countries campaign scenario (Axis side).
  • Finnish F2 Buffalo has been renamed into B-239.
  • Coastal batteries are now allowed to be deployed on any ocean/sea coastline that you control.


FIXED



  • Achievement 'Losing a hero' could not be unlocked.
  • Naval units were affected by land units' ZoC.
  • Game was loading Custom Heroes data from one folder and saving it into another, leading to data mismatch. Proper location is: GAME/MODS/YOUR_MOD/Custom Heroes/Custom heroes.txt
  • When opening the 'Statistics' menu before the game's end, if you changed the sorting mode, that could re order the whole list of players.
  • Move or attack not properly greyed out on units that have the 'move or attack' property.
  • Typo in the Farragut and Allan M Sumner destroyer classes (USA).
  • Buildings (units) were showing a non zero upkeep value, even though they had no upkeep value.
  • 'Better Scientists' policy was not excluded from the menu when playing without the 'Research' setting.
  • 'Flexible Strategy' policy was not giving any refunds on policies you cancelled after loading a save.
  • Music player resuming automatically when tabbing out/back in even though you manually paused it.
  • Europe '45 had a missing airfield VP in Poland and 2 wrong road tiles in Iraq.
  • AA units could attack enemy planes during bad weather if the tile had an enemy land unit in range.
  • In some specific cases, air units could become invisible when an enemy land/naval mine was on the same tile.
  • Upgrading a ship to a carrier was not allowing that ship to launch airplanes.
  • Fighter planes had their attack SFX overwritten in some cases.
  • Landing bonus on damage breakdown was showed as red instead of green for Marines.
  • Some units could remain invisible in some specific cases due to the recent 'cleared FOW saving' feature.
  • Several upgrade/downgrade cost issues.
  • Minor localization issues.
  • Drawings were not refreshed for your allies in real time multiplayer.
  • Using supply ships/planes in real time multiplayer was not synced.
  • Germany in the scenario North Africa 1942 had negative manpower on turn 1.
  • Joining a faction through the diplomacy menu was opening the 'faction creation' popup window.
  • Sometimes, in very specific cases, some unit in the Order of Battle could display a hero name even though they had none.
  • FOW on the map was not refreshed in real time multiplayer after a player accepted an alliance proposition.
  • Weather was not synced properly in real time multiplayer.
  • Upgrades, downgrades, or update actions were not synced properly in real time multiplayer.
  • Efficient Modernization policy was applied even when downgrading (money getting in) meaning you'd lose some money (25%).
  • Code freeze due to units no longer existing in the game being used by events (they will now be skipped/removed).
  • Localization issue with policy picking confirmation window.
  • Main menu soundtrack sort of starting to play twice when launching the game.
  • When trying to draw/erase with the drawing tool in real time multiplayer, it would always modify the active player regardless if it was you or someone else.


REMOVED



  • Access to previous multiplayer server. (You can still use the old version until January 1st, 2026)


FOR HARMONY MODDERS:


Player.Nickname (string) has been removed and replaced by Player.UserId (Guid).
If your mods use this variable, please update them accordingly.

8.1.0 - BETA

TL;DR:
A full wipe of the old PBEM server will happen on January 1st, 2026.
All data will be erased. You have until then to finish your ongoing games.
I strongly recommend moving over to 8.1.0 — your experience will be much, much better!

------------------------------------------------------------------------------------------------------------

Hello everyone!

Today’s update is a bit special — version 8.1.0 is now live on the beta branch!
(Right-click the game → Properties → Betas → choose ‘8.1.0’)

Why beta? Because this update is huge, and I need your help to test it before full release.
I’ve tested everything I could — now I need YOU to push it further. :)

Where am I going with this? What could possibly require this much effort? Hehe...

A BRAND NEW PLAY-BY-EMAIL SERVER!


Yes, you read that right — I’ve taken two weeks off to learn a new programming language, a new OS, and I’ve rewritten the entire PBEM system from scratch.

Why the rewrite?
The old PBEM server was the only part of the game I didn’t fully control — it was commissioned years ago and had reached its limits in both flexibility and performance.

Now it’s fully mine, fully modernized, and ready for the future!

I also took the opportunity to completely overhaul the multiplayer menu UI — it’s cleaner, faster, and offers more possibilities.

Highlights:



  • New public user profiles (custom avatar, bio, stats, and more)
  • PBEM games now support 2 to any number of players
  • Massively improved security (roughly 300% more secure)
  • Enhanced performance
  • HTTPS protocol— no more data corruption issues
  • Password protection for both realtime and PBEM games (optional)
  • Moved away from AWS — servers are now directly reachable from Russia without proxies
  • Full developer control over everything (that’s me!)


ADDED



  • Brand new PBEM server.
  • Several new sections in the Manual.
  • 7.5 cm le.IG 18 and 7.5 cm Gebirgsgeschutz 36 light artillery to Germany.


CHANGED



  • All base game units end use year has been changed from 1946 to 1949.
  • Updated all of the realtime multiplayer libraries (we were quite a few versions behind).
  • Many sections of the manual have been cleaned up and reorganized.
  • Red color on damage breakdown is now brighter for increased readability on dark backgrounds.
  • End of turn menu will no longer appear when playing a singleplayer game (when going from one human player to another).
  • Foreign equipment is now available in the upgrade menu.
  • When upgrading/downgrading a unit to a modified version of itself, it will no longer be sent to the reserve.
  • Saving during multiplayer games is now allowed (all).
  • Rebalanced Low Countries campaign scenario (Axis side).
  • Finnish F2 Buffalo has been renamed into B-239.


FIXED



  • Achievement 'Losing a hero' could not be unlocked.
  • Naval units were affected by land units' ZoC.
  • Game was loading Custom Heroes data from one folder and saving it into another, leading to data mismatch. Proper location is: GAME/MODS/YOUR_MOD/Custom Heroes/Custom heroes.txt
  • When opening the 'Statistics' menu before the game's end, if you changed the sorting mode, that could re order the whole list of players.
  • Move or attack not properly greyed out on units that have the 'move or attack' property.
  • Typo in the Farragut and Allan M Sumner destroyer classes (USA).
  • Buildings (units) were showing a non zero upkeep value, even though they had no upkeep value.
  • 'Better Scientists' policy was not excluded from the menu when playing without the 'Research' setting.
  • 'Flexible Strategy' policy was not giving any refunds on policies you cancelled after loading a save.
  • Music player resuming automatically when tabbing out/back in even though you manually paused it.
  • Europe '45 had a missing airfield VP in Poland and 2 wrong road tiles in Iraq.
  • AA units could attack enemy planes during bad weather if the tile had an enemy land unit in range.
  • In some specific cases, air units could become invisible when an enemy land/naval mine was on the same tile.
  • Upgrading a ship to a carrier was not allowing that ship to launch airplanes.
  • Fighter planes had their attack SFX overwritten in some cases.
  • Landing bonus on damage breakdown was showed as red instead of green for Marines.
  • Some units could remain invisible in some specific cases due to the recent 'cleared FOW saving' feature.
  • Several upgrade/downgrade cost issues.
  • Minor localization issues.
  • Drawings were not refreshed for your allies in real time multiplayer.
  • Using supply ships/planes in real time multiplayer was not synced.
  • Germany in the scenario North Africa 1942 had negative manpower on turn 1.
  • Joining a faction through the diplomacy menu was opening the 'faction creation' popup window.
  • Sometimes, in very specific cases, some unit in the Order of Battle could display a hero name even though they had none.
  • FOW on the map was not refreshed in real time multiplayer after a player accepted an alliance proposition.
  • Weather was not synced properly in real time multiplayer.
  • Upgrades, downgrades, or update actions were not synced properly in real time multiplayer.
  • Efficient Modernization policy was applied even when downgrading (money getting in) meaning you'd lose some money (25%).
  • Code freeze due to units no longer existing in the game being used by events (they will now be skipped/removed).
  • Localization issue with policy picking confirmation window.


REMOVED



  • Access to previous multiplayer server. (You can still use the old version until January 1st, 2026)


FOR HARMONY MODDERS:


Player.Nickname (string) has been removed and replaced by Player.UserId (Guid).
If your mods use this variable, please update them accordingly.


Reminder:


The current PBEM server will be wiped on January 1st, 2026.
Make sure to finish your ongoing games before that date!


That’s it for now — I can’t wait to see what you think of the new PBEM system! As always, your feedback is invaluable.

Thank you for helping make Hex of Steel better every update :)

7.7.37

ADDED



  • New file inside mod folders: Manifest.json. With the rework of the mod manager UI, some information relative to the mod can now be seen (author, mod version, description of the mod, dependencies, etc). I would like to invite all modders to update their mod with the new file (new file is automatically added to any mod whenever you open the Mods Manager UI menu).
  • New unit property for the Units editor: Exclude unit. This is a BOOL (true/false) which basically excludes any unit tagged with the flag from the game, you can use this to 'remove' base game units (and the reason why it was added).


CHANGED



  • Modding menu UI. Clearer and simpler to use.
  • Mods loading order are now exactly as shown on the new modding UI menu, mods will be loaded from top to bottom.
  • AI units marked as scenario victory condition (must be killed in order to win the scenario) now are going to flee away from enemy units. As an example, the battle of Midway or the Coral sea had such victory conditions, the carriers will no longer rush into the enemy fleet, but flee instead.
  • Store menu no longer resets after closing it and reopening it (your basket will be kept intact).
  • Mods thumbnail template has been updated.
  • Quicksaves naming convention, clearer and more informative now.
  • Reworked the stats of all artillery (towed) with 15 and less damage.
  • Artillery with 15 damage and above or 3 range and above are now considered as heavy and have the 'move or attack' mechanic.


FIXED



  • Cavalry had wrong localized name for Napoleonic Wars mod.
  • Operation Uranus (Allied campaign scenario) had no victory conditions.
  • UI scaling issue with the end of turn summary.
  • Removed annoying Aleutian islands major victory points on Pacific 1941. As a result, I will have to reset the Steam leaderboard for that specific scenario as this will change the victory quite a lot.
  • In very specific situations, the AI would skip some of its units (if a unit died during its own turn and another one was playing before, that next unit would be skipped).

7.7.36

Many of you have several times reported back to me with issues regarding accessing the multiplayer server.
I have always received this feedback, but every time I checked the server, all indicators were showing 'green'.
No RAM issue, no CPU issue, no storage issue, no issue at all shown on the analytics.
I decided to put the blame on the provider, since I could not figure out what was wrong.
Then I decided to take a look at the logs, and oh boy, that was interesting.
Turns out, the multiplayer server basically was getting 'attacked'. HoS was DDoSed.
Some player was trying to create an account hundreds of times per second. Obviously, this should not have been possible natively, since in order to create an account you have to manually press buttons with your mouse, and have go through UI elements, etc. You cannot physically possibly send hundreds of requests for an account creation per second, and freeze the whole server for everyone by clicking buttons. So, this person definitely 'hacked' its way into the code and just decided to ruin the game for everyone.

After this was discovered, I then had to start taking measures against this sort of 'attacks', this is currently being tested, but so far the server is running, so you can sign in and resume your games.

Hopefully, this issue is resolved for good now.

People behaving like this don't deserve access to videogames at all.
They deserve to play with rocks and sticks.

CHANGED



  • Multiplayer compatibility version.
  • Horse-towed units now get 2 movement points as a bonus, not 3 anymore. This brings horse-towed artillery up to 3 MPs max instead of 4.


FIXED



  • Multiplayer being inaccessible.

7.7.35

ADDED



  • Shuffle musics option.
  • Keybind to open/close the objectives window.
  • Dynamic filtering for the Units Editor search bar, you can now type in your own filters. You can use operators and units properties directly to filter at will. For example, typing in: 'name contains light infantry and productionyear >= 1943' would return all units where their name contains the 'light infantry' words and where the production year is superior or equal to 1943. I will be releasing the list of properties available on the Forums for you to dig. Spaces don't matter, caps don't matter, so doing LIGHT INFANTRY will work just like light infantry, and doing productionyear>1943 will work fine just as PRODUCTIONyear > 1943.
    Official 'how to' can be found here: https://steamcommunity.com/app/1240630/discussions/0/603033738055534866


CHANGED



  • Changed multiplayer compatibility version to 7.7.35.
  • Updated the Manual.
  • Light artillery guns can now move/attack during their turn.
  • Heavy artillery guns can now only move OR attack during their turn.
  • AT and AA guns can now move and attack during their turn.
  • Rebalanced Sea Lion campaign scenarios.
  • Rebalanced Low Countries campaign scenario.
  • Reworked in game soundtracks UI menu.
  • When editing an official campaign scenario through the editor, the game will no longer create a copy of the original file, you will be directly editing the scenario itself (allowing you more freedom with the scenarios the game has to offer).


FIXED



  • Potentially fixed game not launching on intel Macs.
  • Overlapping UI elements (objectives menu / draw menu).

7.7.34

ADDED



  • Game will now look in an additional (optional) 'Shared' folder in the Units/Graphics path of your mod when it cannot find certain graphics. Useful when you have the same graphics shared across several countries, this way you don't have to duplicate the same image for all, but you keep only one in that Shared folder.


CHANGED



  • Operation Weserubung balance changes.
  • Paratroopers now have 10 ammunitions versus 5 prior, making them more resilient when dropped behind enemy lines.


FIXED



  • Vichy not properly transferred to Germany upon its capitulation following Op. Torch on the Europe scenarios.
  • Production time was not reset when moving from one campaign scenario to the next.

7.7.33

ADDED



  • UI scaling (new setting -> Graphics).


CHANGED



  • Increased Germany's income a little bit in the Campaign of Poland '39 scenario.


FIXED



  • None of the gunboats/patrolboats had any AA damage value.
  • If a player picked the policy/doctrine 'improved radars', when placing your mouse over a ship being equipped with radars, its attack range would display the RADAR range instead of actual firing range of the ship.
  • In the map/scenario editor, when setting a player's faction to be its own, the faction would automatically be applied to be the one that was used on the first player.
  • When bringing up the heal tooltip, the amount of HP potentially healed would often go over the difference between current/max HP of the unit (showing a heal of 50 even though your unit is at 75/100 HP).

7.7.32

ADDED



  • Hong-Kong server/region location for real-time multiplayer. Could help against disconnection for players based in China.
  • Basic localization for units suffixes (1st, 2nd, 3rd, 5th etc) + units realistic naming (brigade, division, etc).


CHANGED



  • Units captured after a country capitulated now are at 25% health (to simulate that all of their crews are gone and you basically have the raw equipment but no men to use it).


FIXED



  • On the Axis side, you could not continue the campaign after the Battle of the Bulge (clicking on the 'battle of berlin' button would not load it).
  • File extension shown in the quick game/map editor list of scenarios on scenarios made by the player.
  • Regular infantry engineers were missing their NATO icon.
  • Some typos/mistakes in the french localization file.