Compare commits
2 Commits
f82e56ea27
...
2f7f9cb7b9
| Author | SHA1 | Date | |
|---|---|---|---|
| 2f7f9cb7b9 | |||
| 21b417b37b |
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
.omo/
|
||||||
|
.codegraph/
|
||||||
@@ -12,28 +12,8 @@
|
|||||||
- images
|
- images
|
||||||
|
|
||||||
roles:
|
roles:
|
||||||
- role: packages
|
|
||||||
tags: [packages]
|
|
||||||
- role: directories
|
|
||||||
tags: [directories]
|
|
||||||
- role: sysctl
|
|
||||||
tags: [sysctl]
|
|
||||||
- role: network
|
|
||||||
tags: [network]
|
|
||||||
- role: wireguard
|
|
||||||
tags: [wireguard]
|
|
||||||
- role: npm
|
- role: npm
|
||||||
tags: [npm]
|
tags: [npm]
|
||||||
- role: gitea
|
- role: 7dtd
|
||||||
tags: [gitea]
|
tags: [7dtd]
|
||||||
- role: jellyfin
|
|
||||||
tags: [jellyfin]
|
|
||||||
- role: wazuh
|
|
||||||
tags: [wazuh]
|
|
||||||
# - role: minecraft
|
|
||||||
# tags: [minecraft]
|
|
||||||
# - role: 7dtd
|
|
||||||
# tags: [7dtd]
|
|
||||||
# - role: zomboid
|
|
||||||
# tags: [zomboid]
|
|
||||||
|
|
||||||
|
|||||||
27
roles/npm/tasks/main.yml
Normal file
27
roles/npm/tasks/main.yml
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
---
|
||||||
|
- name: Create NPM directories
|
||||||
|
ansible.builtin.file:
|
||||||
|
path: "{{ item }}"
|
||||||
|
state: directory
|
||||||
|
mode: '0755'
|
||||||
|
loop:
|
||||||
|
- /opt/apps/npm
|
||||||
|
- /opt/apps/letsencrypt
|
||||||
|
|
||||||
|
- name: Deploy Nginx Proxy Manager
|
||||||
|
containers.podman.podman_container:
|
||||||
|
image: "docker.io/jc21/nginx-proxy-manager:latest"
|
||||||
|
name: npm
|
||||||
|
restart_policy: always
|
||||||
|
recreate: true
|
||||||
|
state: started
|
||||||
|
ports:
|
||||||
|
- "80:80"
|
||||||
|
- "81:81"
|
||||||
|
- "443:443"
|
||||||
|
volumes:
|
||||||
|
- "/opt/apps/npm:/data:z"
|
||||||
|
- "/opt/apps/letsencrypt:/etc/letsencrypt:z"
|
||||||
|
network:
|
||||||
|
- npm_internal
|
||||||
|
ip: '10.10.0.19'
|
||||||
110
vars.yml
Executable file
110
vars.yml
Executable file
@@ -0,0 +1,110 @@
|
|||||||
|
|
||||||
|
## add generic 755 directory for application here
|
||||||
|
directories:
|
||||||
|
- /opt/apps/npm
|
||||||
|
- /opt/apps/7dtd
|
||||||
|
- /opt/apps/7dtd/data
|
||||||
|
- /opt/apps/7dtd/serverfiles
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
images:
|
||||||
|
- docker.io/jc21/nginx-proxy-manager:latest
|
||||||
|
- docker.io/vinanrra/7dtd-server:latest
|
||||||
|
|
||||||
|
## 7 Days to Die dedicated server (vinanrra/7dtd-server container, LinuxGSM-based)
|
||||||
|
## PUBLIC server: listed in the in-game server browser; players connect to
|
||||||
|
## 7dtd.boxswapper.io:26900 (TCP+UDP) and enter the join password (sdtd_server_password).
|
||||||
|
## Server config is rendered from roles/7dtd/templates/sdtdserver.xml.j2 on every deploy —
|
||||||
|
## vars.yml is the source of truth for the server config (edits here re-apply on re-run).
|
||||||
|
## External DNS (not managed here): Cloudflare A record 7dtd.boxswapper.io -> public IP (grey-cloud,
|
||||||
|
## same as mc.boxswapper.io / zomboid.boxswapper.io). Router MUST forward TCP+UDP 26900, UDP
|
||||||
|
## 26901-26902 (Steam query) + TCP 8081 (telnet) -> 10.10.0.47.
|
||||||
|
## VERSION=stable tracks the current public build; the container auto-installs/updates via SteamCMD
|
||||||
|
## on first start. START_MODE must stay 1 with restart_policy always (see role comment).
|
||||||
|
sdtd_host: 7dtd.boxswapper.io
|
||||||
|
sdtd_ip: 10.10.0.47
|
||||||
|
sdtd_image: docker.io/vinanrra/7dtd-server:latest
|
||||||
|
sdtd_version: stable
|
||||||
|
sdtd_start_mode: "1"
|
||||||
|
sdtd_puid: 1000
|
||||||
|
sdtd_pgid: 1000
|
||||||
|
sdtd_timezone: America/Denver
|
||||||
|
sdtd_backup: "NO"
|
||||||
|
sdtd_monitor: "YES"
|
||||||
|
## LinuxGSM config overrides (roles/7dtd/templates/sdtdserver.cfg.j2):
|
||||||
|
## - querymode=1: this server answers NO A2S query on 26900 (ServerVisibility=0 + SteamNetworking
|
||||||
|
## disabled), so the default gamedig-based monitor (querymode=2) always fails its query and
|
||||||
|
## force-restarts the HEALTHY server every ~5 min. Session-only check avoids that loop.
|
||||||
|
## - telnetpassword mirrors sdtd_telnet_password because LGSM's graceful stop reads
|
||||||
|
## ${telnetpassword} from its OWN cfg; the XML value is parsed into ${telnetpass} (different
|
||||||
|
## var) so without this the stop falls back to a hard tmux kill. Keep in sync below.
|
||||||
|
sdtd_lgsm_querymode: "1"
|
||||||
|
## CHANGE THESE before first deploy — the server is public and both passwords gate real access:
|
||||||
|
## sdtd_server_password is the join password players must enter; if it is empty the server has NO
|
||||||
|
## join password. sdtd_telnet_password guards the 8081/tcp admin console; if empty telnet only
|
||||||
|
## listens on loopback.
|
||||||
|
sdtd_server_password: h8zvU3v7WUEgLSYG
|
||||||
|
sdtd_telnet_password: HDRSEsueredu3rf3
|
||||||
|
## 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).
|
||||||
|
sdtd_servername: "Boxswapper 7DTD"
|
||||||
|
sdtd_server_description: "You will die in 7 Days, retard"
|
||||||
|
sdtd_server_confirmation: "You will die, and you will like it, retard"
|
||||||
|
sdtd_website_url: ""
|
||||||
|
sdtd_region: NorthAmericaEast
|
||||||
|
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.
|
||||||
|
sdtd_visibility: "1"
|
||||||
|
## SteamNetworking disabled = direct connect via forwarded ports (correct setup for this box);
|
||||||
|
## leave empty ("" ) to allow the Steam relay fallback if port forwards break.
|
||||||
|
sdtd_disabled_network_protocols: SteamNetworking
|
||||||
|
sdtd_port: 26900
|
||||||
|
sdtd_max_players: 10
|
||||||
|
sdtd_game_mode: GameModeSurvival
|
||||||
|
sdtd_game_world: RWG
|
||||||
|
sdtd_worldgen_seed: boxswapper
|
||||||
|
sdtd_worldgen_size: 10240
|
||||||
|
sdtd_game_name: Boxswapper
|
||||||
|
## v3.0+ SandboxCode — the ONLY gameplay tuning v3.x reads. The vars below this block
|
||||||
|
## (sdtd_difficulty .. sdtd_airdrop_frequency) are REFERENCE-ONLY: v3.0 removed them from
|
||||||
|
## serverconfig.xml, the template no longer renders them, and the game IGNORES them. Empty
|
||||||
|
## code = Adventurer defaults. To restore the server's intended tuning generate a code:
|
||||||
|
## client -> New Game -> Sandbox Options -> match the vars below — Difficulty Nomad, XP 200
|
||||||
|
## (2x), DayNight 60, DayLight 18, Blood Moon every 7 days, DropOnDeath Everything, Loot 150,
|
||||||
|
## AirDrop 24h — with BOTH Day/Night Animal Density and Respawn = Default (so the MoreAnimals
|
||||||
|
## modlet stays in charge of wildlife; XML applies only while density is Default) ->
|
||||||
|
## copy -> paste here.
|
||||||
|
sdtd_sandbox_code: ""
|
||||||
|
## ── REFERENCE VARS FOR SANDBOXCODE GENERATION (not rendered to serverconfig.xml on v3.x) ──
|
||||||
|
## Difficulty: 0 = Scavenger, 1 = Adventurer, 2 = Nomad, 3 = Warrior, 4 = Survivalist, 5 = Insane
|
||||||
|
sdtd_difficulty: "1"
|
||||||
|
sdtd_day_night_length: 60
|
||||||
|
sdtd_day_light_length: 18
|
||||||
|
## DropOnDeath: 0 = nothing, 1 = everything, 2 = toolbelt only, 3 = backpack only, 4 = delete all
|
||||||
|
sdtd_drop_on_death: "1"
|
||||||
|
## ZombieMove: 0 = walk, 1 = jog, 2 = run, 3 = sprint, 4 = nightmare
|
||||||
|
sdtd_zombie_move: "0"
|
||||||
|
sdtd_zombie_move_night: "3"
|
||||||
|
sdtd_bloodmoon_frequency: 2
|
||||||
|
sdtd_bloodmoon_enemy_count: 16
|
||||||
|
sdtd_loot_abundance: 150
|
||||||
|
sdtd_airdrop_frequency: 24
|
||||||
|
## PlayerKillingMode: 0 = no killing, 1 = kill allies only, 2 = kill strangers only, 3 = kill everyone
|
||||||
|
sdtd_player_killing_mode: "3"
|
||||||
|
sdtd_max_spawned_zombies: 100
|
||||||
|
sdtd_max_spawn_animals: "200"
|
||||||
|
## EAC is ON (default protection). EAC blocks CODE mods (Harmony DLL hooks) — that is why it was
|
||||||
|
## OFF while code mods were deployed. PURE XML data modlets (like MoreAnimals below) carry no DLL
|
||||||
|
## and work fine with EAC ON; keep "false" only if code mods are ever reinstalled.
|
||||||
|
sdtd_eac_enabled: "true"
|
||||||
|
## Game mods deployed: MoreAnimals.zip — pure XML spawn-density patch (roles/7dtd/files/mods).
|
||||||
|
## Server-side only: clients join vanilla with EAC ON, nothing to install. To re-add/swap a mod:
|
||||||
|
## drop the zip into roles/7dtd/files/mods/ and list its name here. unarchive only ADDS — it
|
||||||
|
## never removes, so a mod dropped from this list would keep loading: with an EMPTY list we wipe
|
||||||
|
## the whole server Mods dir; swapping one mod for another (non-empty list) requires removing the
|
||||||
|
## retired folder from the box by hand.
|
||||||
|
sdtd_mods: [MoreAnimals.zip]
|
||||||
|
sdtd_xp_multiplier: 200
|
||||||
|
sdtd_telnet_enabled: "true"
|
||||||
|
|
||||||
Reference in New Issue
Block a user