Compare commits
2 Commits
375af109b0
...
d429053aa4
| Author | SHA1 | Date | |
|---|---|---|---|
| d429053aa4 | |||
| 1f7f25a750 |
@@ -1,2 +1,2 @@
|
|||||||
[internal-apps]
|
[internal-apps]
|
||||||
internal-apps
|
internal-apps ansible_user=boxswapper ansible_become_password="bQ4Sxf5Ycrw#7ag4j$"
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
@@ -35,24 +35,34 @@
|
|||||||
|
|
||||||
# Mods live in the bind-mounted serverfiles; the container loads them on its next start
|
# Mods live in the bind-mounted serverfiles; the container loads them on its next start
|
||||||
# (recreate on every deploy re-reads them). zips come from roles/7dtd/files/mods (sdtd_mods
|
# (recreate on every deploy re-reads them). zips come from roles/7dtd/files/mods (sdtd_mods
|
||||||
# in vars.yml), extracted one level deep (the zips already carry their own _Singularity/
|
# in vars.yml), extracted one level deep (each zip carries its own mod subfolder; prefix
|
||||||
# and zByteblazarsNoRespawnNearBackpack/ subfolders, which fix load order by name).
|
# folders with z- if they must sort LAST for load order). unarchive only ADDS — it never
|
||||||
- name: Create 7 Days to Die Mods directory (container user)
|
# removes, so a mod dropped from sdtd_mods would keep loading: with an empty list we wipe
|
||||||
|
# the whole dir and the create-task below rebuilds it empty. Partial mod swaps are not
|
||||||
|
# auto-cleaned (the role only knows zip names, not the folders zips unpack into) — remove
|
||||||
|
# those retired folders from the box by hand.
|
||||||
|
- name: Remove 7 Days to Die Mods directory when no mods are deployed
|
||||||
ansible.builtin.file:
|
ansible.builtin.file:
|
||||||
path: /opt/apps/7dtd/serverfiles/Mods
|
path: /opt/apps/7dtd/serverfiles/Mods
|
||||||
state: directory
|
state: absent
|
||||||
owner: '1000'
|
when: sdtd_mods | length == 0
|
||||||
group: '1000'
|
|
||||||
mode: '0755'
|
|
||||||
|
|
||||||
- name: Deploy 7 Days to Die mods from vendored zips
|
# - name: Create 7 Days to Die Mods directory (container user)
|
||||||
ansible.builtin.unarchive:
|
# ansible.builtin.file:
|
||||||
src: "mods/{{ item }}"
|
# path: /opt/apps/7dtd/serverfiles/Mods
|
||||||
dest: /opt/apps/7dtd/serverfiles/Mods
|
# state: directory
|
||||||
owner: '1000'
|
# owner: '1000'
|
||||||
group: '1000'
|
# group: '1000'
|
||||||
mode: '0755'
|
# mode: '0755'
|
||||||
loop: "{{ sdtd_mods }}"
|
|
||||||
|
# - name: Deploy 7 Days to Die mods from vendored zips
|
||||||
|
# ansible.builtin.unarchive:
|
||||||
|
# src: "mods/{{ item }}"
|
||||||
|
# dest: /opt/apps/7dtd/serverfiles/Mods
|
||||||
|
# owner: '1000'
|
||||||
|
# group: '1000'
|
||||||
|
# mode: '0755'
|
||||||
|
# loop: "{{ sdtd_mods }}"
|
||||||
|
|
||||||
- name: Template 7 Days to Die serverconfig from vars.yml
|
- name: Template 7 Days to Die serverconfig from vars.yml
|
||||||
ansible.builtin.template:
|
ansible.builtin.template:
|
||||||
|
|||||||
@@ -84,7 +84,7 @@
|
|||||||
|
|
||||||
<!-- Performance related -->
|
<!-- Performance related -->
|
||||||
<property name="MaxSpawnedZombies" value="{{ sdtd_max_spawned_zombies }}" />
|
<property name="MaxSpawnedZombies" value="{{ sdtd_max_spawned_zombies }}" />
|
||||||
<property name="MaxSpawnedAnimals" value="50" />
|
<property name="MaxSpawnedAnimals" value="100" />
|
||||||
<property name="ServerMaxAllowedViewDistance" value="12" />
|
<property name="ServerMaxAllowedViewDistance" value="12" />
|
||||||
<property name="MaxQueuedMeshLayers" value="1000" />
|
<property name="MaxQueuedMeshLayers" value="1000" />
|
||||||
|
|
||||||
|
|||||||
38
vars.yml
38
vars.yml
@@ -1,6 +1,3 @@
|
|||||||
## Remote sudo password for ansible become (plaintext by operator decision, same as the
|
|
||||||
## game-server passwords below). Runs the playbook without --ask-become-pass.
|
|
||||||
ansible_become_password: "bQ4Sxf5Ycrw#7ag4j$"
|
|
||||||
|
|
||||||
## add generic 755 directory for application here
|
## add generic 755 directory for application here
|
||||||
directories:
|
directories:
|
||||||
@@ -170,21 +167,21 @@ sdtd_telnet_password: HDRSEsueredu3rf3
|
|||||||
## Change the seed + set sdtd_game_world: RWG for a fresh random-gen world on first boot
|
## Change the seed + set sdtd_game_world: RWG for a fresh random-gen world on first boot
|
||||||
## (Navezgane = built-in map, instant start, no generation time).
|
## (Navezgane = built-in map, instant start, no generation time).
|
||||||
sdtd_servername: "Boxswapper 7DTD"
|
sdtd_servername: "Boxswapper 7DTD"
|
||||||
sdtd_server_description: "You wiill die in 7 Days, retard"
|
sdtd_server_description: "You will die in 7 Days, retard"
|
||||||
sdtd_website_url: ""
|
sdtd_website_url: ""
|
||||||
sdtd_region: NorthAmericaEast
|
sdtd_region: NorthAmericaEast
|
||||||
sdtd_language: English
|
sdtd_language: English
|
||||||
## Visibility of this server: 2 = public, 1 = only shown to friends, 0 = not listed. As you are never friend of a dedicated server setting this to "1" will only work when the first player connects manually by IP.
|
## Visibility of this server: 2 = public, 1 = only shown to friends, 0 = not listed. As you are never friend of a dedicated server setting this to "1" will only work when the first player connects manually by IP.
|
||||||
sdtd_visibility: "0"
|
sdtd_visibility: "1"
|
||||||
## SteamNetworking disabled = direct connect via forwarded ports (correct setup for this box);
|
## SteamNetworking disabled = direct connect via forwarded ports (correct setup for this box);
|
||||||
## leave empty ("" ) to allow the Steam relay fallback if port forwards break.
|
## leave empty ("" ) to allow the Steam relay fallback if port forwards break.
|
||||||
sdtd_disabled_network_protocols: SteamNetworking
|
sdtd_disabled_network_protocols: SteamNetworking
|
||||||
sdtd_port: 26900
|
sdtd_port: 26900
|
||||||
sdtd_max_players: 8
|
sdtd_max_players: 8
|
||||||
sdtd_game_mode: GameModeSurvival
|
sdtd_game_mode: GameModeSurvival
|
||||||
sdtd_game_world: Navezgane
|
sdtd_game_world: RWG
|
||||||
sdtd_worldgen_seed: boxswapper
|
sdtd_worldgen_seed: boxswapper
|
||||||
sdtd_worldgen_size: 8192
|
sdtd_worldgen_size: 10240
|
||||||
sdtd_game_name: Boxswapper
|
sdtd_game_name: Boxswapper
|
||||||
## Difficulty: 0 = Scavenger, 1 = Adventurer, 2 = Nomad, 3 = Warrior, 4 = Survivalist, 5 = Insane
|
## Difficulty: 0 = Scavenger, 1 = Adventurer, 2 = Nomad, 3 = Warrior, 4 = Survivalist, 5 = Insane
|
||||||
sdtd_difficulty: "2"
|
sdtd_difficulty: "2"
|
||||||
@@ -202,22 +199,15 @@ sdtd_airdrop_frequency: 72
|
|||||||
## PlayerKillingMode: 0 = no killing, 1 = kill allies only, 2 = kill strangers only, 3 = kill everyone
|
## PlayerKillingMode: 0 = no killing, 1 = kill allies only, 2 = kill strangers only, 3 = kill everyone
|
||||||
sdtd_player_killing_mode: "3"
|
sdtd_player_killing_mode: "3"
|
||||||
sdtd_max_spawned_zombies: 64
|
sdtd_max_spawned_zombies: 64
|
||||||
## EAC must be OFF because we deploy code mods (Singularity framework + the No Respawn Near
|
## EAC is ON (default protection). It was OFF while code mods were deployed — EAC blocks
|
||||||
## Backpack patch below) — EAC blocks their Harmony hooks. Keep "false" while mods are installed.
|
## their Harmony hooks, so keep "false" if mods are ever reinstalled.
|
||||||
sdtd_eac_enabled: "false"
|
sdtd_eac_enabled: "true"
|
||||||
## Game mods, vendored under roles/7dtd/files/mods/ and extracted into serverfiles/Mods (the
|
## Game mods: NONE deployed (Singularity 4.1.3 + No Respawn Near Backpack 2.0.0.0 were
|
||||||
## container's bind-mounted Mods dir) by the role. Source of truth: add the zip name here AND
|
## removed; EAC was flipped back on as part of that change). To re-add a mod: drop the zip
|
||||||
## drop the file into the role's files/mods dir. Load order is handled by folder prefixes —
|
## into roles/7dtd/files/mods/ and list its name here. NOTE: the role's unarchive task only
|
||||||
## Singularity's leading underscore loads FIRST, the mod's z- prefix loads LAST (7dtd sorts
|
## ADDS mods — retiring to an EMPTY list wipes the whole server Mods dir; swapping one mod
|
||||||
## Mods alphabetically).
|
## for another (non-empty list) requires removing the retired folder from the box by hand.
|
||||||
## - Singularity (4.1.3): Byteblazar's core framework; No Respawn Near Backpack is a server
|
sdtd_mods: []
|
||||||
## policy implemented here, disabled by default, enabled via XML (the mod below).
|
sdtd_xp_multiplier: 500
|
||||||
## - No Respawn Near Backpack for V2 (2.0.0.0): server-side XML patch that sets Singularity's
|
|
||||||
## ServerPolicies.NoRespawnNearBackpack=true -> players CANNOT respawn near their backpack,
|
|
||||||
## they respawn at a world starting point instead. Requires EAC off (see above).
|
|
||||||
sdtd_mods:
|
|
||||||
- Singularity-v4.1.3.zip
|
|
||||||
- No-Respawn-Near-Backpack-2-0-0-0.zip
|
|
||||||
sdtd_xp_multiplier: 100
|
|
||||||
sdtd_telnet_enabled: "true"
|
sdtd_telnet_enabled: "true"
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user