# Authenticating with Screeps

Screeps has recently introduced a [token-based auth system](http://blog.screeps.com/2017/12/auth-tokens/), and the old authentication system will be deprecated by 01 February 2018. The starter kit has been updated to support this new authentication process.

## Migrating to the new auth system

If you have an existing copy of your starter kit, follow these steps:

* Remove the `"username"` and `"password"` keys from your `screeps.json` file, and replace them with `"token"`.
* Upgrade `rollup-plugin-screeps` to version 0.1.1.
* Follow the authentication steps as defined below.

## Setting up Screeps authentication

The authentication token is pulled by the starter kit from a file named `screeps.json`. A sample config file (`screeps.sample.json`) is provided within the project, to use it, simply make a copy and rename it to `screeps.json`.

```bash
cp screeps.sample.json screeps.json
```

{% hint style="danger" %}
**IMPORTANT:** The `screeps.json` file contains your Screeps credentials! If you use any source control to store your codebase, **DO NOT** check in this file into your repository.
{% endhint %}

## Generating an auth token

To generate an authentication token, click **\[your username] > Manage account**. You should see the **Auth tokens** in the options now, click it.

![authenticating-1](https://4148962410-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LInfa4D_4NFP88ESVQq%2Fsync%2F9c18b26e1ef6d7da6a9032016955366a7ec2789e.png?generation=1628453596737951\&alt=media)

On the next screen, we'll create a full access token. We pick the **Full access** option, then click the **Generate Token** button.

![authenticating-2](https://4148962410-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LInfa4D_4NFP88ESVQq%2Fsync%2Fa47e05ac1dba977fac46c88c32e854a84fbff47c.png?generation=1628453598739910\&alt=media)

Your generated token should now be shown on your screen. Copy it to your clipboard.

![authenticating-3](https://4148962410-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LInfa4D_4NFP88ESVQq%2Fsync%2F1bacad9aa9f8b1c0dd2a48cdc77c1bdd5c847ecd.png?generation=1628453599680165\&alt=media)

> **Note:** This token will be displayed **only once**! Make sure to never lose it. However, if you did lose it, simply remove said token from your account, and create a new one.

Now, paste it to your `screeps.json` file.

![authenticating-4](https://4148962410-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LInfa4D_4NFP88ESVQq%2Fsync%2Fdda8c2e4ce3cdbb1f3d62de40f6a8ebc3d410eb9.png?generation=1628453597756409\&alt=media)

## Sanity check

Now we'll do a quick check if things are running properly. Let's perform a quick deploy.

```bash
npm run push-main
```

Now go to your Screeps client and check if the `main` branch is created, or if said branch already exists, the code is overwriten to it.

It works? Good, you've successfully authenticated!

Next up, we'll configure our environment and [run our first code deploy](deploying).
