Difference between revisions of "Mods and Consoles"

From Holdfast: Nations At War
Jump to navigation Jump to search
Line 32: Line 32:
  
 
==Server Config Cross-Play Compatibility Table==
 
==Server Config Cross-Play Compatibility Table==
 
+
Check your server configs for the following commands and adapt it to your target <code>server_platform</code>:
 
{| class="wikitable" style="text-align:center;"
 
{| class="wikitable" style="text-align:center;"
 
|-
 
|-

Revision as of 14:27, 5 July 2025

AGS Foreword

Starting with version v3.0, PS5 and Xbox Series players will join the Holdfast community via cross platform play.

Players on both consoles won't be able to load mods. Unity on consoles uses IL2CPP (Ahead-of-time (AOT) compilation), which makes it impossible to load our Mono-based mods (just-in-time (JIT) compilation) at runtime. The Steam workshop, which is responsible for delivering mods to players on Steam, is also unavailable.

Apart from the technical challenges, we're also forced to follow strict rules outlined by each ecosystem. There's a reason why modding support is rare on consoles. Designing a system that ticks all the boxes on all the platforms is hard. Our modding system was created for Steam and trying to bend it to the rules proved unfeasible for now.

I know this comes as a disappointment to all the modders who poured their hours and their hearts into their creations. As someone who started his game dev career as a modder, I feel you and felt that I at least owed you an explanation.

Walki, Lead Developer

Server Platforms

This chapter is meant to prepare community server administrators for the console release. Warning: Misconfigured servers can eject console players in mid gameplay.

You can set your preferred server platform using the server_platform global config command:

server_platform None # (Default value, cross-play is on)
server_platform Steam
server_platform Xbox
server_platform PSN

If the server detects that it has become cross-play incompatible, it'll force-change the server_platform. It'll eject any console players and hide itself from the server browser for console players. This can happen when loading or reloading (rc filereloader) the config but also during the loading of mods, as servers can only detect a mod's type after loading it.

Cross-play Compatible
Crossplay Compatible Server.png
Any platform (Steam, Xbox or PlayStation) can connect to this server if they have cross-play enabled in their game settings.
Steam Only
Steam Only Server.png
This server is only visible to Steam players. This happens if the server detects that it is or has become cross-play incompatible (mods etc). This will EJECT and then reject console players trying to connect.
Xbox Only
Xbox Only Server.png
This server is only visible to Xbox players that have cross-play disabled. It will reject players connecting from a different platform.
PlayStation Only
PlayStation Only Server.png
This server is only visible to PlayStation players that have cross-play disabled. It will reject players connecting from a different platform.

Server Config Cross-Play Compatibility Table

Check your server configs for the following commands and adapt it to your target server_platform:

Steam & SteamDeck Xbox & PlayStation Cross-play Compatible
objects_override [any]
capture_point_override [any]
spawn_override [any]
starting_weapons_selection_override [any]
firearm_ammo_override [any]
ships_spawn_detail_override [any]
ships_health_detail_override [any]
mod_variable [any]
mod_variable_local [any]
mods_installed_server_only [any]
mods_installed [uniform] ✅*
mods_installed [flag] ✅*
mods_installed [script]**
mods_installed [map]**
map_name ModMap***

* Uniform and flag mods won't change the server platform, however they'll only be visible to Steam players. Console players will see a generic uniform/flag instead.
** Loading a script or map mod will change the server_platform when loading the mod.
*** Having this in your server config will instantly change the server_platform to Steam only.