--- # Project Zomboid dedicated server (danixu86 container, SteamCMD-based, B42-ready). # PRIVATE server: players direct-connect to zomboid.boxswapper.io:16261 (UDP) and enter the join # password (zomboid_password). Not listed in the in-game server browser (PUBLIC=false). # 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' # The image (cm2network/steamcmd:root base) owns files in /home/steam as the steam user, uid/gid 1000. # Pre-seeding dirs with that ownership lets the entry script and server write alongside our ini. - name: Create Project Zomboid server data dir ansible.builtin.file: path: /opt/apps/zomboid/data/Zomboid state: directory owner: '1000' group: '1000' mode: '0755' - name: Create Project Zomboid server config directory ansible.builtin.file: path: /opt/apps/zomboid/data/Zomboid/Server state: directory owner: '1000' group: '1000' mode: '0755' - name: Template Project Zomboid server ini from vars.yml ansible.builtin.template: src: zomboid.ini.j2 dest: "/opt/apps/zomboid/data/Zomboid/Server/{{ zomboid_servername }}.ini" owner: '1000' group: '1000' mode: '0644' - 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 }}" PASSWORD: "{{ zomboid_password }}" PUBLIC: "{{ zomboid_public }}" MEMORY: "{{ zomboid_memory }}" SERVERPRESET: "{{ zomboid_preset }}" FORCEUPDATE: "true" LANG: "en_US.UTF-8"