Updated docs.

This commit is contained in:
Daniel Ceregatti 2022-07-22 23:15:55 -07:00
parent 49f5206d35
commit c31f47c3a5

View file

@ -28,6 +28,7 @@ hostname = "Something other than Server Name"; // Server name
A random RCON password will be generated and output to the log when the server is run.
Build the Docker image:
```
docker compose build
```
@ -37,9 +38,11 @@ docker compose build
[SteamDMD](https://developer.valvesoftware.com/wiki/SteamCMD) is used to manage Steam downloads. A vanilla DayZ server
can be installed with the `anonymous` Steam user, but most mods cannot. If the goal is to add mods, a real Steam login
must be used. Login:
```
docker compose run --rm main dayzserver login
```
Follow the prompts. Hit enter to accept the default, which is to use the `anonymous` user, otherwise use your real
username and keep following the prompts to add your password and Steam Guard code. With Steam Guard enabled on the Steam
account, entering the password will trigger the sending of an email with the code. This process will wait indefinitely
@ -52,60 +55,93 @@ repeated unless the session expires or the docker volume is deleted.
Run the command again to manage the login. See [Manage](#manage).
## Run
Launch the container into the background:
```
docker compose up -d main
docker compose up -d
```
Tail the log:
```
docker compose logs -f main
docker compose logs -f
```
## Manage
This just runs a bash shell in the container. It allows for the file system and files to be easily inspected.
The following management commands presume the server has been brought [up](#run).
### Shell in the container
Run a bash shell in the container. This allows for the files to be easily inspected:
```
docker compose run --rm main bash
docker compose exec main bash
```
### RCON
A command line RCON client is included: https://github.com/indepth666/py3rcon.
A terminal-based RCON client is included: https://github.com/indepth666/py3rcon.
The dayzserver script manages what's necessary to configure and run it:
```
docker compose exec main dayzserver rcon
```
To reset the RCON password in the Battle Eye configuration file, simply delete it, and a random one will be generated
on the next server startup:
```
docker compose run --rm main rm serverfiles/battleye/baserver_x64_active*
```
### Update the DayZ server files
It's probably not a good idea to update the server files while it's running. Make sure it's down first:
```
docker compose down
```
Then run the command:
```
docker compose run --rm main dayzserver update
```
Don't forget to [bring it back up](#run).
### Stop the server
```
docker compose exec main dayzserver stop
```
### Workshop - Add / List / Remove / Update mods
Interactive interface for adding, listing, removing, and updating mods.
```
docker compose run --rm main dayzserver workshop add id1 [id2...] | list | remove id [id2...] | update
docker compose exec main dayzserver workshop activate id [id2...] | add id1 [id2...] | deactivate io1 [id2...] list | remove id [id2...] | update
```
Look for mods in the [DayZ Workshop](https://steamcommunity.com/app/221100/workshop/). Browse to one. In its URL will be
an `id` parameter. Here is the URL to SimpleAutoRun: https://steamcommunity.com/sharedfiles/filedetails/?id=2264162971. To
add it:
```
docker compose run --rm main dayzserver workshop add 2264162971
docker compose exec main dayzserver workshop add 2264162971
```
Adding and removing mods will add and remove their names from the `-mod=` parameter.
Note multiple ids may be specified to both add and remove.
Optionally, to avoid re-downloading large mods, the `activate` and `deactivate` workshop commands will
simply disable the mod but keep its files. Keep in mind that mod updates will also update deactivated
mods.
## TODO
* Makage -mod= command line. Allow for mods to exist but not be part of that parameter.
* RCON to the server. Send real time messages to players, such as restart announcements.
* Create some way to send messages to playes on the server using RCON.