Files
Internal-apps/roles/7dtd/templates/sdtdserver.xml.j2

117 lines
6.0 KiB
Django/Jinja

<?xml version="1.0"?>
<!-- Managed by Ansible (roles/7dtd/templates/sdtdserver.xml.j2) - local edits are overwritten on re-run. -->
<!-- Source of truth: sdtd_* variables in vars.yml. Applied on every deploy (template task runs each time). -->
<ServerSettings>
<!-- GENERAL SERVER SETTINGS -->
<!-- Server representation -->
<property name="ServerName" value="{{ sdtd_servername }}" />
<property name="ServerDescription" value="{{ sdtd_server_description }}" />
<property name="ServerWebsiteURL" value="{{ sdtd_website_url }}" />
<property name="ServerPassword" value="{{ sdtd_server_password }}" />
<property name="ServerLoginConfirmationText" value="{{ sdtd_server_confirmation }}" />
<property name="Region" value="{{ sdtd_region }}" />
<property name="Language" value="{{ sdtd_language }}" />
<!-- Networking -->
<property name="ServerPort" value="{{ sdtd_port }}" />
<!-- Visibility: 2 = public, 1 = shown to friends only, 0 = not listed (private, direct-connect only) -->
<property name="ServerVisibility" value="{{ sdtd_visibility }}" />
<!-- Public servers behind correct port forwards should disable SteamNetworking (no NAT relay needed) -->
<property name="ServerDisabledNetworkProtocols" value="{{ sdtd_disabled_network_protocols }}" />
<property name="ServerMaxWorldTransferSpeedKiBs" value="512" />
<!-- Slots -->
<property name="ServerMaxPlayerCount" value="{{ sdtd_max_players }}" />
<property name="ServerReservedSlots" value="0" />
<property name="ServerReservedSlotsPermission" value="100" />
<property name="ServerAdminSlots" value="0" />
<property name="ServerAdminSlotsPermission" value="0" />
<!-- Admin interfaces -->
<property name="WebDashboardEnabled" value="false" />
<property name="WebDashboardPort" value="8080" />
<property name="WebDashboardUrl" value="" />
<property name="EnableMapRendering" value="false" />
<property name="TelnetEnabled" value="{{ sdtd_telnet_enabled | lower }}" />
<property name="TelnetPort" value="8081" />
<property name="TelnetPassword" value="{{ sdtd_telnet_password }}" />
<property name="TelnetFailedLoginLimit" value="10" />
<property name="TelnetFailedLoginsBlocktime" value="10" />
<property name="TerminalWindowEnabled" value="true" />
<!-- Folder and file locations -->
<property name="AdminFileName" value="serveradmin.xml" />
<!-- Other technical settings -->
<property name="EACEnabled" value="{{ sdtd_eac_enabled | lower }}" />
<property name="HideCommandExecutionLog" value="0" />
<property name="MaxUncoveredMapChunksPerPlayer" value="131072" />
<property name="PersistentPlayerProfiles" value="false" />
<!-- GAMEPLAY -->
<!-- World. GameWorld: "RWG" for random gen (uses WorldGenSeed/WorldGenSize below) or an existing
world name ("Navezgane", "PREGEN01", ...). GameName sets the save/decoration seed name. -->
<property name="GameWorld" value="{{ sdtd_game_world }}" />
<property name="WorldGenSeed" value="{{ sdtd_worldgen_seed }}" />
<property name="WorldGenSize" value="{{ sdtd_worldgen_size }}" />
<property name="GameName" value="{{ sdtd_game_name }}" />
<property name="GameMode" value="{{ sdtd_game_mode }}" />
<!-- v3.x GAMEPLAY TUNING MOVED TO SANDBOXCODE: GameDifficulty, XPMultiplier, DayNightLength,
DayLightLength, DeathPenalty, DropOnDeath/DropOnQuit, zombie speeds (ZombieMove etc.),
BloodMoon*, LootAbundance, LootRespawnDays, AirDropFrequency, BlockDamage*, EnemySpawnMode
were REMOVED from serverconfig.xml in v3.0 and are silently IGNORED - the game reads only
the SandboxCode. Empty code = Adventurer defaults. To restore the server's intended tuning:
client -> New Game -> Sandbox Options -> mirror the sdtd_* reference vars in vars.yml ->
copy code -> set sdtd_sandbox_code in vars.yml. MaxSpawnedZombies/MaxSpawnedAnimals remain
live serverconfig properties (see below). -->
{% if sdtd_sandbox_code %}
<property name="SandboxCode" value="{{ sdtd_sandbox_code }}" />
{% endif %}
<!-- Still-live v3.x gameplay properties (not moved to sandbox) -->
<property name="PlayerSafeZoneLevel" value="5" />
<property name="PlayerSafeZoneHours" value="5" />
<property name="BuildCreate" value="false" />
<property name="BedrollDeadZoneSize" value="15" />
<property name="BedrollExpiryTime" value="45" />
<!-- Performance / spawn caps (live properties; animal density itself is patched by the
MoreAnimals modlet on Data/Config/spawning.xml - XML values apply only while the sandbox
Density options are Default) -->
<property name="MaxSpawnedZombies" value="{{ sdtd_max_spawned_zombies }}" />
<property name="MaxSpawnedAnimals" value="{{ sdtd_max_spawn_animals }}" />
<property name="ServerMaxAllowedViewDistance" value="12" />
<property name="MaxQueuedMeshLayers" value="1000" />
<!-- Multiplayer. PlayerKillingMode: 0 = no killing, 1 = kill allies only, 2 = kill strangers only, 3 = kill everyone -->
<property name="AirDropMarker" value="true" />
<property name="PartySharedKillRange" value="100" />
<property name="PlayerKillingMode" value="{{ sdtd_player_killing_mode }}" />
<!-- Land claim options -->
<property name="LandClaimCount" value="3" />
<property name="LandClaimSize" value="41" />
<property name="LandClaimDeadZone" value="30" />
<property name="LandClaimExpiryTime" value="7" />
<property name="LandClaimDecayMode" value="0" />
<property name="LandClaimOnlineDurabilityModifier" value="4" />
<property name="LandClaimOfflineDurabilityModifier" value="4" />
<property name="LandClaimOfflineDelay" value="0" />
<property name="DynamicMeshEnabled" value="true" />
<property name="DynamicMeshLandClaimOnly" value="true" />
<property name="DynamicMeshLandClaimBuffer" value="3" />
<property name="DynamicMeshMaxItemCache" value="3" />
<property name="TwitchServerPermission" value="90" />
<property name="TwitchBloodMoonAllowed" value="false" />
<property name="MaxChunkAge" value="-1" />
<property name="SaveDataLimit" value="-1" />
</ServerSettings>