> For the complete documentation index, see [llms.txt](https://ss3d.gitbook.io/dev-guide/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://ss3d.gitbook.io/dev-guide/guides/running-the-project/hosting-a-server.md).

# Hosting a server

{% hint style="warning" %}
We don't have the **SS3D Hub** *yet*, so this is only valid before we have that.
{% endhint %}

The process of hosting a server, where you can play and have players connected to your server is possible via two paths:

## Pre-launch instructions

###

### Using the .bat file

Assuming you built the game and have a SS3D.exe file in the Builds folder, you can simply double left click on the <mark style="color:purple;">**`Start SS3D Host.bat`**</mark> to launch a server, with john as a username.&#x20;

### Using the Command Line Args

{% hint style="danger" %}
This is only applicable for <mark style="color:yellow;">**Built Executables**</mark>.
{% endhint %}

To host a server **outside** the **Unity Editor**, first you have to build SS3D in the **`Builds`** folder of your SS3D project. You can then open a command prompt, move to the `Builds` folder and type :

```
start SS3D.exe -host -ckey=hostUsername -skipintro
```

Replace <mark style="color:purple;">**`hostUsername`**</mark> by whatever username you want to use. Don't hit enter yet and skip to launch instructions.

### Using Application Settings window

{% hint style="danger" %}
This is only applicable when using the <mark style="color:yellow;">**Unity Engine for hosting**</mark>, which <mark style="color:yellow;">**should be avoided if you're**</mark> <mark style="color:yellow;">**not developing**</mark>.
{% endhint %}

You can set the <mark style="color:purple;">**`Network Type`**</mark> to <mark style="color:purple;">**`Host`**</mark>, the <mark style="color:purple;">**`Editor Server Address`**</mark> to your <mark style="color:purple;">**`server IP`**</mark>, or your <mark style="color:purple;">**`local IP (127.0.0.1)`**</mark> if hosting from the same machine, and the <mark style="color:purple;">**`Ckey`**</mark> to your desired <mark style="color:purple;">**`Ckey`**</mark>.

{% hint style="info" %}
You can hover the parameters in Application Settings to get a description on what it does and how to use it.
{% endhint %}

## Launch Instructions

{% hint style="info" %}
This is valid for <mark style="color:yellow;">**Unity Editor**</mark> and <mark style="color:yellow;">**Built Executable**</mark> usage.
{% endhint %}

In the <mark style="color:purple;">**`permissions.txt`**</mark> file, inside the <mark style="color:purple;">**`Builds/Config`**</mark> folder. The username should have <mark style="color:purple;">**`Administrator`**</mark> written on the same line in the <mark style="color:purple;">**`permissions.txt`**</mark> file, otherwise it will not able to host the server. *This should probably be automated eventually.*

You can now hit enter or hit play depending on your case. **The server will be launched and you can join with a client now.**

Once started, go to server settings and click on <mark style="color:purple;">**`start round`**</mark> like in the picture below.

<img src="https://user-images.githubusercontent.com/14344825/210403775-67a1bc1a-1651-4e9a-b4f9-937f0014d85d.png" alt="" data-size="original">

## Troubleshooting

<details>

<summary>Nothing appearing on the server page when hosting</summary>

Check the host username in the command:

```
start SS3D.exe -host -ckey=hostUsername -skipintro
```

It must **exactly** correspond to whatever username is present in the <mark style="color:purple;">**`permissions.txt`**</mark> file, in the <mark style="color:purple;">**`Builds/Config`**</mark> folder.

</details>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://ss3d.gitbook.io/dev-guide/guides/running-the-project/hosting-a-server.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
