mirror of
https://github.com/Impostor/Impostor.git
synced 2026-10-20 01:46:11 +00:00
2.9 KiB
2.9 KiB
Running the server
There are currently two modes to run the Impostor server in. The first way is the simplest one and is the one you should probably use. The other way will distribute players across other servers and is a more advanced configuration.
Single server
Without docker
- Install the .NET 5.0 runtime.
- Find the latest master release.
- Download either the Windows or the Linux version.
- Extract the zip.
- Modify
config.jsonto your liking. Documentation can be found here (this step is mandatory if you want to expose this server to other devices) - Run
Impostor.Server.exe(Windows) /Impostor.Server(Linux)
Using docker
docker run -p 22023:22023/udp aeonlucid/impostor:nightly
Using docker-compose
version: '3.4'
services:
impostor:
image: aeonlucid/impostor:nightly
container_name: impostor
ports:
- 22023:22023/udp
volumes:
- /path/to/local/config.json:/app/config.json # For easy editing of the config
- /path/to/local/plugins:/app/plugins # Only needed if using plugins
- /path/to/local/libraries:/app/libraries # Only needed if using external libraries
Multiple servers
Follow the steps from the single server on two or more servers.
Master server
The master server will accept client connections and redirect them to the other servers listed in the configuration. It will not host any games itself.
Example configuration:
{
"Server": {
"PublicIp": "127.0.0.1",
"PublicPort": 22023,
"ListenIp": "0.0.0.0",
"ListenPort": 22023
},
"ServerRedirector": {
"Enabled": true,
"Master": true,
"Locator": {
"Redis": "",
"UdpMasterEndpoint": "127.0.0.1:22024"
},
"Nodes": [
{
"Ip": "127.0.0.1",
"Port": 22025
}
]
}
}
Node servers
The node server should have ServerRedirector enabled too, but Master must be disabled. Nodes do not need to be aware of each other.
Example configuration:
{
"Server": {
"PublicIp": "127.0.0.1",
"PublicPort": 22025,
"ListenIp": "0.0.0.0",
"ListenPort": 22025
},
"ServerRedirector": {
"Enabled": true,
"Master": false,
"Locator": {
"Redis": "",
"UdpMasterEndpoint": "127.0.0.1:22024"
}
}
}