84 lines
3.0 KiB
Markdown
84 lines
3.0 KiB
Markdown
# Installing Mare Server on Ubuntu 20.04 Server LTS
|
|
|
|
## Important
|
|
- **You _will_ need a valid Certificate for the server.**
|
|
- Set one up using LetsEncrypt or use the one provided by your hoster
|
|
- The server provided is only guaranteed to run under Ubuntu 20.04 Server LTS. For anything else, you are on your own. The server is provided as a standalone .NET application which does not require .NET Core to be installed.
|
|
|
|
## Copy files over
|
|
- Connect via SCP and copy over all files to some directory
|
|
- The directory will need to be writeable by the user
|
|
|
|
## Install MSSQL Server 2019 CU
|
|
- Import GPG keys
|
|
```sh
|
|
sudo curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
|
|
```
|
|
- Add repository
|
|
```sh
|
|
sudo add-apt-repository "$(curl https://packages.microsoft.com/config/ubuntu/20.04/mssql-server-2019.list)"
|
|
```
|
|
- Install SQL Server 2019
|
|
```
|
|
sudo apt-get update
|
|
sudo apt-get install -y mssql-server
|
|
```
|
|
- Run configuration
|
|
```
|
|
sudo /opt/mssql/bin/mssql-conf setup
|
|
```
|
|
- Install "3) Express"
|
|
- Set a password
|
|
- Verify server is running
|
|
```
|
|
systemctl status mssql-server --no-pager
|
|
```
|
|
- Optional: set up a separate user for Mare Synchronos
|
|
- I'll let you figure that out yourself
|
|
- The user will need database creation rights
|
|
|
|
## Configure Mare Server
|
|
- open provided appsettings.json
|
|
- edit `DefaultConnection` to `"Server=localhost;User=sa;Password=<sa password>;Database=mare;MultipleActiveResultSets=true"`
|
|
- if you created a separate user for mare on the SQL Server, specify the username and password here
|
|
- edit `CacheDirectory` and set it to a path where the file cache is supposed to be located. i.e. `/home/<user>/servercache`
|
|
- you will also need to create that folder
|
|
- optional: set Port under edit `Url` and change the `+:5000` to `+:<your port>`
|
|
|
|
- Set up `Certificate`
|
|
- Set `Path` to the certificate file path
|
|
- Set `Password` to the password of the certificate
|
|
- If the certificate file is split in private key and public, set `KeyPath` to the private key file
|
|
- Delete all unused keys from `Certificate`
|
|
|
|
## Set up Mare Synchonos Server as a Service
|
|
- create new file `/etc/systemd/system/MareSynchronosServer.service` with following contents
|
|
```
|
|
[Unit]
|
|
Description=Mare Synchronos Service
|
|
|
|
[Service]
|
|
WorkingDirectory=<path to server files>
|
|
ExecStart=<path to server files>/MareSynchronosServer
|
|
SysLogIdentifier=MareSynchronosServer
|
|
User=<the user to run the service with>
|
|
Restart=always
|
|
RestartSec=5
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|
|
```
|
|
- Reload SystemD daemon
|
|
```
|
|
sudo systemctl daemon-reload
|
|
```
|
|
- Enable the service with
|
|
```
|
|
sudo systemctl enable MareSynchronosServer
|
|
```
|
|
- Start the service with
|
|
```
|
|
sudo systemctl start MareSynchronosServer
|
|
```
|
|
- Log in ingame and add a custom server within the Mare Synchronos Plugin configuration under the address `wss://<your server ip>:<your server port>`
|
|
- That should be it and your server ready to go and running |