### 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
--- /dev/null
+### 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
--- /dev/null
+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
+
+[](https://hub.docker.com/repository/docker/aeonlucid/impostor)
+[](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
--- /dev/null
+# 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