From cdf8ea870aebb87144d495718191b01885fdefce Mon Sep 17 00:00:00 2001 From: Sombrio Date: Tue, 13 Oct 2020 18:38:26 -0300 Subject: [PATCH] moved all wiki pages to main repo --- README.md | 2 +- docs/FAQ.md | 9 ++++ docs/Running-the-server.md | 81 ++++++++++++++++++++++++++++++++++++ docs/Server-configuration.md | 51 +++++++++++++++++++++++ 4 files changed, 142 insertions(+), 1 deletion(-) create mode 100644 docs/FAQ.md create mode 100644 docs/Running-the-server.md create mode 100644 docs/Server-configuration.md diff --git a/README.md b/README.md index 82136c3..9539636 100644 --- a/README.md +++ b/README.md @@ -39,7 +39,7 @@ If you just want to play on a server hosted by someone else, you need to follow ### Server -See the [wiki](https://github.com/AeonLucid/Impostor/wiki/Running-the-server) for instructions on how to set it up. +See the [docs](https://github.com/AeonLucid/Impostor/docs/Running-the-server) for instructions on how to set it up. ## Contributing diff --git a/docs/FAQ.md b/docs/FAQ.md new file mode 100644 index 0000000..7bb2f75 --- /dev/null +++ b/docs/FAQ.md @@ -0,0 +1,9 @@ +### What is this? +> The Impostor project is a reverse engineered and open sourced server for the game Among Us. The game itself is developed by [InnerSloth](http://www.innersloth.com/) while this project is maintained by the community. This project was built out of frustration for the lack of server availability in certain regions and the inability for the core developer, [AeonLucid](https://github.com/AeonLucid), to join a public game. As of this time, it has not been officially endorsed by the studio. + +### Can this be used with the mobile version of the game? +> Yes, Impostor can be used with both the Android and iOS\* versions of the game. +###### \* In order to play on an Impostor server with iOS, you _must_ have a jailbroken device. + +### How can I get started? +> See [Setting up your Server](Running-the-server) for more information on running the server and [Client Setup](https://aeonlucid.com/Impostor/) for helping your friends join in! \ No newline at end of file diff --git a/docs/Running-the-server.md b/docs/Running-the-server.md new file mode 100644 index 0000000..5609e6c --- /dev/null +++ b/docs/Running-the-server.md @@ -0,0 +1,81 @@ +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 +1. Find the [latest release](https://github.com/AeonLucid/Impostor/releases/latest). +2. Download either the Windows or the Linux version. +3. Extract the zip. +4. Modify `config.json` to your liking. +5. Run `Impostor.Server.exe` (Windows) / `Impostor.Server` (Linux) + +### Using docker + +[![Docker Image](https://img.shields.io/docker/v/aeonlucid/impostor?sort=semver)](https://hub.docker.com/repository/docker/aeonlucid/impostor) +[![Docker Image](https://img.shields.io/docker/v/aeonlucid/impostor/edge)](https://hub.docker.com/repository/docker/aeonlucid/impostor) + +``` +docker run -p 22023:22023/udp aeonlucid/impostor +``` + +## Multiple servers + +**This is only in the `dev` branch at this moment so you will need to build it yourself.** + +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: + +```json +{ + "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:22023" + }, + "Nodes": [ + { + "Ip": "127.0.0.1", + "Port": 22024 + } + ] + } +} +``` + +### 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: + +```json +{ + "Server": { + "PublicIp": "127.0.0.1", + "PublicPort": 22024, + "ListenIp": "0.0.0.0", + "ListenPort": 22024 + }, + "ServerRedirector": { + "Enabled": false, + "Master": true, + "Locator": { + "Redis": "", + "UdpMasterEndpoint": "127.0.0.1:22023" + } + } +} +``` \ No newline at end of file diff --git a/docs/Server-configuration.md b/docs/Server-configuration.md new file mode 100644 index 0000000..12c5a5a --- /dev/null +++ b/docs/Server-configuration.md @@ -0,0 +1,51 @@ +# Server configuration + +Some information about all the possible configurations. Click [here](https://github.com/AeonLucid/Impostor/blob/master/src/Impostor.Server/config.full.json) to see all the possible config options. + +## Config providers + +### File + +The simplest option to configure is by using the `config.json` file next to the server executable. + +### Command line arguments + +TODO + +``` +Server:PublicIp=127.0.0.1 +Server:PublicPort=22023 +Server:ListenIp=0.0.0.0 +Server:listenPort=22023 +ServerRedirector:Enabled=false +ServerRedirector:Master=true +ServerRedirector:Locator:Redis=127.0.0.1.6379 +ServerRedirector:Locator:UdpMasterEndpoint=127.0.0.1:32320 +ServerRedirector:Nodes:0:Ip=127.0.0.1 +ServerRedirector:Nodes:0:Port=22024 +ServerRedirector:Nodes:1:Ip=127.0.0.1 +ServerRedirector:Nodes:1:Port=22025 +``` + +### Environment variables + +TODO + +``` +IMPOSTOR_Server__PublicIp=127.0.0.1 +IMPOSTOR_Server__PublicPort=22023 +IMPOSTOR_Server__ListenIp=0.0.0.0 +IMPOSTOR_Server__listenPort=22023 +IMPOSTOR_ServerRedirector__Enabled=false +IMPOSTOR_ServerRedirector__Master=true +IMPOSTOR_ServerRedirector__Locator__Redis=127.0.0.1.6379 +IMPOSTOR_ServerRedirector__Locator__UdpMasterEndpoint=127.0.0.1:32320 +IMPOSTOR_ServerRedirector__Nodes__0__Ip=127.0.0.1 +IMPOSTOR_ServerRedirector__Nodes__0__Port=22024 +IMPOSTOR_ServerRedirector__Nodes__1__Ip=127.0.0.1 +IMPOSTOR_ServerRedirector__Nodes__1__Port=22025 +``` + +## Options + +TODO - Write something about every option. \ No newline at end of file -- 2.39.5