# Novo Adbot documentation

> How to use the Novo Adbot dashboard: accounts, servers, proxies, scripts, webhooks, and troubleshooting.

Novo Adbot keeps Minecraft accounts online for you. Add an account, pick a server, and start it from the dashboard. The bot runs on our workers, so no game window is needed on your computer. Scripts make it do things: log in, answer chat, move, mine, and more.

## Quick start

1. **Get a license and sign up.** A license is $10 a month ([pricing](/buy)). Create your account with the key you get. There's no free trial, and no limit on how many accounts you run.
2. **Add a server.** [Servers](/app/servers) → Add server. Give it a name, the address (for example `play.example.net`), and the port (usually `25565`).
3. **Add a Minecraft account.** [Accounts](/app/accounts) → Add account, and pick how it signs in (see [Accounts](#accounts)).
4. **Optional: add a proxy.** [Proxies](/app/proxies) → Add proxy. It is checked automatically.
5. **Start it.** On Accounts press Start, choose the server, and optionally a proxy and a script. The account then stays online by itself.

## Accounts

| Sign-in method | Use it for | What you enter |
| --- | --- | --- |
| Offline | Cracked (offline-mode) servers | A Minecraft name: 1–16 letters, numbers, or `_` |
| Microsoft account | Premium servers | Sign in with a short code at microsoft.com/link. The name comes from the profile. |
| Session token (SSID) | Premium servers, when you already have a token | The SSID. The name is read from it if you leave the name blank. |

Passwords and tokens are encrypted before they are stored and are never shown again.

### SSIDs expire after about 24 hours

A session token (SSID) only works for about a day. We read the exact expiry from the token and show the time left under the account's name, for example **SSID · 5h 20m left**. When it runs out the account shows **SSID expired** and you get a notification. A bot that's already in a server stays in, but it can't log in again: Start is disabled and Keep online won't retry. Open the account's **Details** and paste a new SSID under **Session token** to use it again.

### Starting and stopping

- **Start** asks for a server, a proxy (or connect directly), and a script (optional).
- **Stop** takes the account offline. It stays offline until you start it again.
- Click an account to see its current session, behavior settings, and history. While it is online, **Live view** shows what the bot sees and the in-game chat it receives (cleaned of colour codes and other noise). Type in the box under the chat to talk as the bot, or start with `/` to run a command. Up and Down bring back earlier messages.

### Keep online

On by default. The account rejoins after kicks, disconnects, and server restarts, waiting a little longer after each failed try (up to 10 minutes). If the worker running it goes down, the account is started again.

A **ban or mute** is different: the account leaves the server and stays off there, so it doesn't get banned again. A mute means a server message such as “You have been muted”; player chat never counts. Banned and muted accounts are marked on Accounts and Overview (for example **Banned on Hypixel**), and the **Banned / muted** tab lists them. To send them somewhere else automatically, use [ban rules](#ban-rules). You can turn Keep online off under the account's Behavior settings.

### Anti-AFK

Stops servers from kicking the bot for being idle. Every few seconds (±25%) it does a small random action: jump, look around, step, swing, or sneak — whichever you tick. It can also send a command such as `/afk` on its own timer. It works without a script, and changes apply to a running bot right away. A script can override it with `bot.anti_afk()`.

## Ban rules

A ban rule says: **when an account is banned (or muted) on this server, move it to that server with this script.** Set them up under [Ban rules](/app/rules). Add as many as you want.

- **When:** banned, muted, or either.
- **On server:** a specific server, or any server.
- **Which account:** one account, or every account.
- **Move it to:** the server to join next.
- **Script:** the script to run there, or keep the same one.
- **Proxy:** keep the same proxy, connect without one, or switch to another.

Rules are checked from the top; the first one that fits is used. Use the arrows to reorder them. To make a chain (A → B → C), add one rule for A → B and another for B → C.

A rule never sends an account back to a server it's banned or muted on. If the first match points there, the next matching rule is used instead, so chains can't go in circles. Every move (or failed move) shows up in your notifications. If a ban gets lifted, open the account's Details and press **Clear** next to that server.

## Servers

A server is just a name, an address, and a port. Add it once and pick it whenever you start an account.

## Proxies

A proxy makes an account connect from a different IP address. Supported types: **SOCKS5** (with or without username and password), **HTTP**, and **HTTPS**. SOCKS4 isn't supported.

### Adding proxies

Add one at a time, or use **Import** to paste a list or load a `.txt` file. One proxy per line, in any of these formats:

```text
host:port
host:port:user:password
user:password@host:port
socks5://user:password@host:port
```

A `socks5://`, `http://`, or `https://` prefix sets the type for that line. Lines starting with `#` are ignored. Lines that can't be read are listed and skipped; the rest are still imported.

### Checks

Every proxy is tested when you add, edit, or import it. The test really connects through the proxy to a public Minecraft server — it is not just a port check. What the results mean:

| Result | What to do |
| --- | --- |
| Working | Nothing — it's ready. |
| Wrong username or password | Fix the login details. |
| Couldn't connect | The proxy is offline or refused the connection. Check the address and port. |
| Too slow to respond | Try again later or use another proxy. |
| This proxy blocks Minecraft | The provider doesn't allow game traffic. Use another proxy. |
| Wrong proxy type | Change the type (SOCKS5 / HTTP / HTTPS). |

### Flagged proxies

If an account gets banned or muted while using a proxy, that proxy is **flagged**. The Proxies page shows where (for example *Flagged · banned on Hypixel*). Next time you start any account with a flagged proxy, you're asked to confirm first; choose **Use anyway** or pick another proxy. Once you've decided the proxy is fine, open it and press **Clear flags**. A ban rule set to **Same proxy** counts as your confirmation.

## Scripts

A script tells a bot what to do when something happens: log in after joining, answer a chat message, walk somewhere, mine a block. Make one under [Scripts](/app/automations), then pick it when you start an account. There are two ways to edit a script, and both run the same way:

- **Code editor** — Python-style code with suggestions for every bot function (type `bot.`), docs when you hover a name, and mistakes underlined with the line number. Ctrl+S saves.
- **Block builder** — drag blocks under an event until they snap, and type values right on the blocks. No code needed. Saving turns the blocks into code. A script written in the code editor opens in the builder as blocks; any line that has no matching block shows as a **Code** block holding that line, so nothing is lost. Saving from the builder keeps what the script does but drops comments.

Accounts that are already running keep the version they started with. Restart the account to use your changes. Everything a script can do is in the [scripting guide](/docs/scripting).

## Webhooks

Get messages in Discord, Slack, or your own app. Add a webhook URL under [Webhooks](/app/webhooks), then send to it from a script:

```python
async def on_kick(bot, reason):
    bot.webhook(reason, title="Kicked", level="error")
```

Your default webhook is used unless you name one with `webhook="name"`. Scripts never see the URL. Custom URLs receive JSON signed with HMAC-SHA256 (the secret is shown once when you add it). Each bot can send 20 messages per minute.

## History

[History](/app/history) lists every kick, ban, and restriction across your accounts, with the server's exact message and what it was recognized as (rate limit, restart, ban, …).

## Troubleshooting

| Problem | Fix |
| --- | --- |
| The dashboard says your license isn't active | It ran out. Paste a new key under [License](/app/licenses). |
| “All workers at capacity” | Every worker is busy right now. Try again in a minute. |
| “This proxy is flagged” | An account was banned or muted through it. Choose Use anyway, pick another proxy, or clear its flags on the Proxies page. |
| The account went offline and stayed off | It was banned or muted (it's marked on Accounts), or someone pressed Stop. Keep online never rejoins after a ban; a [ban rule](#ban-rules) can move it to another server. |
| “SSID expired” | Session tokens last about 24 hours. Paste a new one in the account's Details. |
| A ban rule didn't move the account | Check the notification: the target server may already have that account banned, or no rule matched that server or account. |
| Kicked right after joining a premium server | Offline accounts only work on cracked servers. Use a Microsoft account or session token. |
| My script changes do nothing | Running accounts keep the old version. Restart the account. |
| A script line is underlined | Hover it to see why. The Problems panel under the editor lists every issue with its line. |
| Proxy shows “Wrong proxy type” | Edit the proxy and pick a different type. |

## For AI assistants

All of this documentation, including the full list of bot functions and events, is available as plain Markdown. Give one of these links (or its text) to an AI assistant and ask it to write a script:

- [/llms-full.txt](/llms-full.txt) — everything in one file
- [/docs/scripting.md](/docs/scripting.md) — the scripting guide and full API reference
- [/docs.md](/docs.md) — this page
- [/llms.txt](/llms.txt) — a short index
