# Getting Started

First you need to install the bot onto your system. Installation on **Linux** servers is advised, but installing the bot on Windows and MacOS is still possible through **Docker** or the raw **Jar**.

## Installation Methods

These are all currently available installation methods for ScpTools.

{% tabs %}
{% tab title="Installer" %}

#### Installer (Linux)

The installer is the recommended way to install the bot. It is easy to use and allows for easy setup using the onboard configurator. It's only downside is the Linux exclusivity.

{% content-ref url="/pages/kJ0F41K4ZX8FUIl3TElf" %}
[Installer](/scptoolsbot/setup/installer.md)
{% endcontent-ref %}
{% endtab %}

{% tab title="Docker" %}

#### Docker (Linux, Windows, MacOS)

When the installer cannot be used for installation, or you don't want to install java onto your machine, you can run the bot in a docker container.

{% content-ref url="/pages/fhm8KszITOD0CvR8flPX" %}
[Docker](/scptoolsbot/setup/docker.md)
{% endcontent-ref %}
{% endtab %}

{% tab title="Manual" %}

#### Manual (Linux, Windows, MacOS)

A basic way to install the bot. You can just download the `.jar` from the latest release and then run it on a server with the right java version (**22**) installed.

{% content-ref url="/pages/aNPBOiWT8LrUxrtlmydv" %}
[Manual](/scptoolsbot/setup/manual.md)
{% endcontent-ref %}
{% endtab %}

{% tab title="Source" %}

#### Source (Linux, Windows, MacOS)

If you want the latest version of the bot you can compile it from source. This is a bit more complicated and requires some technical knowledge.

{% content-ref url="/pages/sxPDGTex6gC47buH6vk9" %}
[Source](/scptoolsbot/setup/source.md)
{% endcontent-ref %}
{% endtab %}
{% endtabs %}

## Fist Time Setup

{% hint style="success" %}
If you used the installer script and configured it with the build in configurator you can skip this
{% endhint %}

When first installing the bot you need to tweak some settings to get it working. This small guide will help you to find them and eliminate issues.

### 1. Mandatory Settings

On first startup you have probably experienced the bot crashing with an error. That is because you need to enter in three important id's for it to start up. These are the `token`, `client secret` and `guild id`. They can be found in the `config.yml` just at the top.

```yaml
# The token of your bot application, create one here https://discord.com/developers/
token: ""
# The client secret of your bot, get it from here https://discord.com/developers/ under OAuth section
client_secret: ""
# Your server ID, you can get it by activating discord developer mode and right-clicking your server
guild_id: ""
```

You can get 2 of these values from the official [Discord Developer Portal](https://discord.com/developers/applications). Create a bot application and then navigate to the `OAuth` and `Bot` sections. There you can find the buttons for resetting the applications `client secret` and `token`. Reset them, copy them and at last paste them into the config.

![Client Secret Reset Button](https://github.com/user-attachments/assets/8f0be2d6-29b9-4b71-bc9c-3fc829e59b0a) ![Token Reset Button](https://github.com/user-attachments/assets/1bdffa7c-2339-4a5b-ac1f-5816bc7165bf)

The last value, meaning your guild id is just your discord server id. You can easily retrieve it by activating developer mode in the settings (Settings --> Advanced --> Developer Mode) and then right-clicking on your server.

*Learn more about configuring on the* [*Configuration Page*](/scptoolsbot/configuration/config.md)

### 2. Language

If you don't like the standard English version of the bot, you can switch to the German version or copy the translation files (located in the `lang` folder) and change them to your liking.

```yaml
# Which language should the bot use?
#Choose from these supported languages or duplicate one of the translation files and change it yourself
# available translations: ["en_US", "de_DE"]
load_translation: "en_US"
```

*Learn more on this topic on the* [*Translation Page*](/scptoolsbot/translation/getting-started.md)

### 3. Feature Settings

For some features you need to tweak the configs. Generally it is good to look into the config and search for the section containing the feature to look what they need.

{% hint style="info" %}
The status bots and support system have their own separate configs, located in the same folder as the `config.yml`
{% endhint %}

*Learn more about this topic on the* [Feature Page](/scptoolsbot/configuration/config/features.md)

### 4. Webserver and CedMod

If you have CedMod installed on your server you might want to use the integrated CedMod link in SCPTools. There's also a small Webserver implemented that can handle discord OAuth request.

#### CedMod

If you want to activate CedMod, navigate to the CedMod section of the config and change `active` to `true`. You will need your instance URL as well as an API key. This API key can only be obtained when asking CedMod staff directly, so head to their [discords support channel](https://discord.gg/rzAYbzCXRv) and request it.

```yaml
cedmod:
  # This activates the CedMod Api integration. This feature is only used for the following functions, only activate if you have these features in use: Regulars
  # CedMod Api is only available to users who request access from the CedMod team, ask on their discord for more information - https://discord.gg/p69SGfwxxm
  active: false
  # Include https://
  instance_url: ""
  # Put the plain API key here
  api_key: ""
```

*Learn more about this topic on the* [*Integration Page*](/scptoolsbot/configuration/config/integration.md)

#### Webserver

The Webserver is a special feature that must be active for the `verify` and `regulars` feature. It handles Discord OAuth requests to link users steam and discord accounts. Follow the instructions in the config to activate it and make sure you configure your firewall correctly to filter requests.

```yaml
webserver:
  # Should the webserver be launched? This feature is only used for regulars
  active: false
  # The port under which the webserver will be launched
  port: 8080
  # What uri to start the webserver under
  redirect_uri: "/auth/discord/redirect"
  # Where should the redirect be, include the full url e.g., https://localhost:80/auth/discord/redirect
  uri: ""
```

*Learn more about this topic on the* [Webserver Page](/scptoolsbot/configuration/config/webserver.md)


---

# Agent Instructions: 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:

```
GET https://override.gitbook.io/scptoolsbot/setup/getting-started.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
