Files
Internal-apps/roles/7dtd/templates/sdtdserver.xml.j2
2026-09-17 09:31:31 -06:00

134 lines
6.6 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="" />
<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 }}" />
<!-- Difficulty: 0 = Scavenger, 1 = Adventurer, 2 = Nomad, 3 = Warrior, 4 = Survivalist, 5 = Insane -->
<property name="GameDifficulty" value="{{ sdtd_difficulty }}" />
<property name="BlockDamagePlayer" value="100" />
<property name="BlockDamageAI" value="100" />
<property name="BlockDamageAIBM" value="100" />
<property name="XPMultiplier" value="{{ sdtd_xp_multiplier }}" />
<property name="PlayerSafeZoneLevel" value="5" />
<property name="PlayerSafeZoneHours" value="5" />
<!-- Day/night: DayNightLength = real minutes per in-game day, DayLightLength = in-game hours of daylight -->
<property name="BuildCreate" value="false" />
<property name="DayNightLength" value="{{ sdtd_day_night_length }}" />
<property name="DayLightLength" value="{{ sdtd_day_light_length }}" />
<property name="DeathPenalty" value="1" />
<!-- DropOnDeath: 0 = nothing, 1 = everything, 2 = toolbelt only, 3 = backpack only, 4 = delete all -->
<property name="DropOnDeath" value="{{ sdtd_drop_on_death }}" />
<property name="DropOnQuit" value="0" />
<property name="BedrollDeadZoneSize" value="15" />
<property name="BedrollExpiryTime" value="45" />
<!-- Performance related -->
<property name="MaxSpawnedZombies" value="{{ sdtd_max_spawned_zombies }}" />
<property name="MaxSpawnedAnimals" value="50" />
<property name="ServerMaxAllowedViewDistance" value="12" />
<property name="MaxQueuedMeshLayers" value="1000" />
<!-- Zombie settings. ZombieMove: 0 = walk, 1 = jog, 2 = run, 3 = sprint, 4 = nightmare -->
<property name="EnemySpawnMode" value="true" />
<property name="EnemyDifficulty" value="0" />
<property name="ZombieFeralSense" value="0" />
<property name="ZombieMove" value="{{ sdtd_zombie_move }}" />
<property name="ZombieMoveNight" value="{{ sdtd_zombie_move_night }}" />
<property name="ZombieFeralMove" value="3" />
<property name="ZombieBMMove" value="3" />
<property name="BloodMoonFrequency" value="{{ sdtd_bloodmoon_frequency }}" />
<property name="BloodMoonRange" value="0" />
<property name="BloodMoonWarning" value="8" />
<property name="BloodMoonEnemyCount" value="{{ sdtd_bloodmoon_enemy_count }}" />
<!-- Loot -->
<property name="LootAbundance" value="{{ sdtd_loot_abundance }}" />
<property name="LootRespawnDays" value="7" />
<property name="AirDropFrequency" value="{{ sdtd_airdrop_frequency }}" />
<property name="AirDropMarker" value="true" />
<!-- Multiplayer. PlayerKillingMode: 0 = no killing, 1 = kill allies only, 2 = kill strangers only, 3 = kill everyone -->
<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>