├── .editorconfig ├── .env.example ├── .gitattributes ├── .gitignore ├── README.md └── docker-compose.yml /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | indent_style = space 5 | indent_size = 2 6 | charset = utf-8 7 | trim_trailing_whitespace = true 8 | insert_final_newline = true 9 | -------------------------------------------------------------------------------- /.env.example: -------------------------------------------------------------------------------- 1 | KTX_HOSTNAME=nQuake KTX Server 2 | KTX_SERVER_IP= 3 | KTX_SERVER_PORT=27500 4 | KTX_RCON_PASSWORD=changeme 5 | KTX_SERVER_ADMIN=anon 6 | MVDSV_SERVER_MEMORY_BYTES=65536 7 | KTX_QTV_PASSWORD= 8 | QTV_REPORT_URL=https://badplace.eu 9 | QTV_REPORT_KEY=askmeag 10 | QTV_HOSTNAME=nQuake QTV 11 | QTV_SERVER_IP= 12 | QTV_SERVER_PORT=28000 13 | QTV_PASSWORD= 14 | QTV_ADMIN_PASSWORD=changeme 15 | QWFWD_HOSTNAME=nQuake QWFWD 16 | QWFWD_SERVER_PORT=30000 17 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | * eol=lf 2 | 3 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | docker-compose.override.yml 2 | .env 3 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # nQuake server 2 | 3 | To run nQuake server, you need to download and install [Docker](https://docs.docker.com/engine/install/ubuntu/). 4 | 5 | Then, you should update the `.env.example` file with your server settings and save it as `.env`. 6 | 7 | When the .env file is saved, run the following: 8 | 9 | ``` 10 | docker-compose up -d 11 | ``` 12 | -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: '3.7' 2 | 3 | services: 4 | mvdsv: 5 | image: niclaslindstedt/nquakesv 6 | restart: always 7 | environment: 8 | - HOSTNAME=${KTX_HOSTNAME} 9 | - SERVER_IP=${KTX_SERVER_IP} # this is your server's external ip, leave it empty to look up your external ip 10 | - PORT=${KTX_SERVER_PORT} # this is the external port number for this server 11 | - RCON_PASSWORD=${KTX_RCON_PASSWORD} 12 | - QTV_PASSWORD=${KTX_QTV_PASSWORD} 13 | - SERVER_ADMIN=${KTX_SERVER_ADMIN} 14 | - REPORT_URL=${QTV_REPORT_URL} 15 | - REPORT_KEY=${QTV_REPORT_KEY} 16 | - SERVER_MEMORY_KBYTES=${MVDSV_SERVER_MEMORY_BYTES} # memory allocation for server process 17 | ports: 18 | - '${KTX_SERVER_PORT}:${KTX_SERVER_PORT}/udp' 19 | volumes: 20 | - "/etc/timezone:/etc/timezone:ro" # This will make sure logs inside the container are in the timezone of the server 21 | - "/etc/localtime:/etc/localtime:ro" # This will make sure logs inside the container are in the timezone of the server 22 | - logs:/nquake/logs 23 | - media:/nquake/media 24 | - demos:/nquake/ktx/demos 25 | restart: always 26 | healthcheck: 27 | test: ["CMD", "/healthcheck.sh"] 28 | interval: 1m 29 | timeout: 10s 30 | retries: 3 31 | start_period: 20s 32 | 33 | qtv: 34 | image: niclaslindstedt/qtv 35 | restart: always 36 | tty: true 37 | environment: 38 | - HOSTNAME=${QTV_HOSTNAME} 39 | - SERVER_IP=${QTV_SERVER_IP} # this is your server's external ip, leave it empty to look up your external ip 40 | - QTV_PASSWORD=${QTV_PASSWORD} 41 | - ADMIN_PASSWORD=${QTV_ADMIN_PASSWORD} 42 | - TARGET_SERVERS=mvdsv:${KTX_SERVER_PORT} 43 | ports: 44 | - '${QTV_SERVER_PORT}:28000' 45 | volumes: 46 | - demos:/qtv/demos 47 | - media:/qtv/id1 48 | healthcheck: 49 | test: ["CMD", "/healthcheck.sh"] 50 | interval: 1m 51 | timeout: 10s 52 | retries: 3 53 | start_period: 20s 54 | 55 | qwfwd: 56 | image: niclaslindstedt/qwfwd 57 | restart: always 58 | tty: true 59 | environment: 60 | - HOSTNAME=${QWFWD_HOSTNAME} 61 | ports: 62 | - '${QWFWD_SERVER_PORT}:30000/udp' 63 | 64 | volumes: 65 | logs: 66 | demos: 67 | media: 68 | --------------------------------------------------------------------------------