--- # 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"