Update README.md, add example config.yaml

This commit is contained in:
chris
2020-08-12 11:29:25 -04:00
committed by Chris Marshall
parent bb321e0830
commit 546250c7a2
2 changed files with 65 additions and 30 deletions

View File

@ -53,36 +53,35 @@ kind: ConfigMap
metadata: metadata:
name: quake3-server-config name: quake3-server-config
data: data:
fragLimit: 25 config.yaml: |
timeLimit: 15m fragLimit: 25
game: timeLimit: 15m
motd: "Welcome to Critical Stack" game:
type: FreeForAll motd: "Welcome to Critical Stack"
forceRespawn: false type: FreeForAll
inactivity: 10m forceRespawn: false
quadFactor: 3 inactivity: 10m
weaponRespawn: 3 quadFactor: 3
server: weaponRespawn: 3
hostname: "quakekube" server:
maxClients: 12 hostname: "quakekube"
password: "changeme" maxClients: 12
commands: password: "changeme"
- seta g_inactivity 600 maps:
maps: - name: q3dm7
- name: q3dm7 type: FreeForAll
type: FreeForAll - name: q3dm17
- name: q3dm17 type: FreeForAll
type: FreeForAll - name: q3wctf1
- name: q3wctf1 type: CaptureTheFlag
type: CaptureTheFlag captureLimit: 8
captureLimit: 8 - name: q3tourney2
- name: q3tourney2 type: Tournament
type: Tournament - name: q3wctf3
- name: q3wctf3 type: CaptureTheFlag
type: CaptureTheFlag captureLimit: 8
captureLimit: 8 - name: ztn3tourney1
- name: ztn3tourney1 type: Tournament
type: Tournament
``` ```
The time limit and frag limit can be specified with each map (it will change it for subsequent maps in the list): The time limit and frag limit can be specified with each map (it will change it for subsequent maps in the list):
@ -115,6 +114,14 @@ commands:
The content server hosts a small upload app to allow uploading `pk3` or `zip` files containing maps. The content server in the [example.yaml](example.yaml) shares a volume with the game server, effectively "side-loading" the map content, however, in the future the game server will introspect into the maps and make sure that it can fulfill the users map configuration before starting. The content server hosts a small upload app to allow uploading `pk3` or `zip` files containing maps. The content server in the [example.yaml](example.yaml) shares a volume with the game server, effectively "side-loading" the map content, however, in the future the game server will introspect into the maps and make sure that it can fulfill the users map configuration before starting.
### Development
The easiest way to develop quake-kube is building the binary locally with `make` and running it directly. This only requires that you have the `ioq3ded` binary in your path:
```shell
$ bin/q3 -c config.yaml --assets-dir $HOME/.q3a --agree-eula
```
## Credits ## Credits
* [inolen/quakejs](https://github.com/inolen/quakejs) - The really awesome QuakeJS project that makes this possible. * [inolen/quakejs](https://github.com/inolen/quakejs) - The really awesome QuakeJS project that makes this possible.

28
config.yaml Normal file
View File

@ -0,0 +1,28 @@
fragLimit: 25
timeLimit: 15m
game:
motd: "Welcome to Critical Stack"
type: FreeForAll
forceRespawn: false
inactivity: 10m
quadFactor: 3
weaponRespawn: 3
server:
hostname: "quakekube"
maxClients: 12
password: "changeme"
maps:
- name: q3dm7
type: FreeForAll
- name: q3dm17
type: FreeForAll
- name: q3wctf1
type: CaptureTheFlag
captureLimit: 8
- name: q3tourney2
type: Tournament
- name: q3wctf3
type: CaptureTheFlag
captureLimit: 8
- name: ztn3tourney1
type: Tournament