45 lines
1.7 KiB
YAML
45 lines
1.7 KiB
YAML
---
|
|
# Project Zomboid dedicated server (danixu86 container, SteamCMD-based, B42-ready).
|
|
# Players: zomboid.boxswapper.io:16261 (UDP) - direct connect or in-game browser (PUBLIC=true).
|
|
# External prerequisites (NOT managed by this repo):
|
|
# - Cloudflare A record zomboid.boxswapper.io -> public IP (grey-cloud, like mc.boxswapper.io)
|
|
# - Router port forwards: UDP 16261-16276 + TCP 27015 (RCON) -> 10.10.0.46
|
|
# - CHANGED zomboid_admin_password / zomboid_rcon_password in vars.yml before first deploy
|
|
- name: Create Project Zomboid data directory
|
|
ansible.builtin.file:
|
|
path: /opt/apps/zomboid/data
|
|
state: directory
|
|
mode: '0755'
|
|
|
|
- name: Deploy Project Zomboid Server
|
|
containers.podman.podman_container:
|
|
image: "{{ zomboid_image }}"
|
|
name: zomboid
|
|
env: "{{ zomboid_env_base }}"
|
|
restart_policy: always
|
|
recreate: true
|
|
state: started
|
|
volumes:
|
|
- /opt/apps/zomboid/data:/home/steam/Zomboid:z
|
|
- /usr/share/zoneinfo/America/Denver:/etc/timezone:ro
|
|
- /etc/localtime:/etc/localtime:ro
|
|
ports:
|
|
- "16261-16276:16261-16276/udp"
|
|
- "27015:27015/tcp"
|
|
network:
|
|
- npm_internal
|
|
ip: '{{ zomboid_ip }}'
|
|
vars:
|
|
zomboid_env_base:
|
|
# CACHEDIR fixed to the bind-mounted path so saves/configs/logs persist
|
|
CACHEDIR: "/home/steam/Zomboid"
|
|
ADMINUSERNAME: "{{ zomboid_admin_username }}"
|
|
ADMINPASSWORD: "{{ zomboid_admin_password }}"
|
|
RCONPASSWORD: "{{ zomboid_rcon_password }}"
|
|
SERVERNAME: "{{ zomboid_servername }}"
|
|
DISPLAYNAME: "{{ zomboid_displayname }}"
|
|
PUBLIC: "{{ zomboid_public }}"
|
|
MEMORY: "{{ zomboid_memory }}"
|
|
SERVERPRESET: "{{ zomboid_preset }}"
|
|
FORCEUPDATE: "true"
|
|
LANG: "en_US.UTF-8" |