aboutsummarylogtreecommitdiffstats
path: root/README.md
blob: cdcb54b4a2e2169ad5fa00c1755625effa8f696a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
# Dominions 4 Headless Server

## Installing

Install this package (`dom4-server`) using your AUR package manager of choice, or `makepkg`.

Dominions 4 must be installed to /opt/Dominions4. If you already have it installed elsewhere and don't want to mess around with permissions, it's easiest to just copy it.

If you installed it from the Steam GUI:

```bash
sudo cp -R ~/.local/share/Steam/steamapps/common/Dominions4 /opt
```

If you installed it via SteamCMD (see below for directions if you're starting from scratch with no GUI):

```bash
sudo cp -R ~/Steam/steamapps/common/Dominions4 /opt
```

If you can't find it at either of those locations, try `locate dom4.sh` (if you *just* installed Dominions 4, `sudo updatedb` first). This should output one line with the full path and filename of `dom4.sh`. `sudo cp -R` the path, excluding the filename.

### License Key

Your install directory must have a `dom4key` file present containing your Dominions 4 license key. If the file does not already exist, you can create it using the license information from Steam.

### Network

You can use whatever port number you like between 1024 and 65535. Make sure you don't have anything else running on that port.

If your computer is behind a router you will need to make sure the port is forwarded. It is also helpful to configure a static IP address so the routing stays consistent. Consult your router documentation for instructions.

## Game Configuration

Your game configuration is stored in key=value format in a properties file. Copy `default.properties` to a safe location and edit as needed. `mapfile` should reference the filename of a map either in the same location as the properties file or in *your* `~/dominions4/maps` directory. Once ready:

1. `sudo dom4 config mygame.properties` loads your config into the server and sets the current game name.
1. `sudo systemctl start dom4-server` starts the server in pretender upload mode.
1. If `uploadmaxp` or `uploadtime` are set in your configuration, you're done: the game will start automatically when the appropriate limit is reached. If not, wait for everyone to upload their pretenders and then bring the server down with `sudo systemctl stop dom4-server`.
1. `sudo dom4 ready` sets the server up to host the last configured game, or you can pass in the name of another properties file (without the extension) after all pretenders have been uploaded.
1. Restart the server using `sudo systemctl start dom4-server` again to begin the game.

You may also want to `sudo systemctl enable dom4-server` in order to start the server automatically after reboots.

Note that only one game may be served at a time. If you run `dom4 config` with a config file when a game has already been set up, it will ask if you want to overwrite the existing game. 

### Deleting Games

`sudo dom4 delete mygame` removes the properties file and save directory. Maps are not removed.

## SteamCMD

Here's how to download and install Dominions 4 from Steam without needing to let X or a monitor anywhere near your computer:

1. Install `steamcmd` using your AUR package manager of choice.
1. Run `steamcmd`.
1. `login your_user_name`. Supply the password if asked.
1. `app_update 259060`. Once the download finishes, you're all set.