Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/AresChat/sb0t/llms.txt

Use this file to discover all available pages before exploring further.

Getting a room online with sb0t takes only a few minutes. The application is a standalone Windows executable — there is no installer, no database to configure, and no web server to set up. The steps below walk you through downloading the binary, filling in the basic room details in the GUI, starting the server, and making your first client connection.
1

Download sb0t

Visit the official GitHub releases page and download the latest .zip archive:https://github.com/AresChat/sb0t/releasesExtract the archive to any folder you like. sb0t ships as a single .exe together with its required .dll dependencies. No installation step is needed — you can run it directly from the extracted folder.
2

Launch the application

Double-click sb0t.exe. The WPF main window opens. On startup, SetupValues() runs in the GUI, which:
  • Reads every setting from the registry, creating the key HKCU\Software\sb0t\sb0t.exe if it does not already exist.
  • Writes default values for any setting not yet stored (for example, port 54321 and room name my chatroom).
  • Generates and saves a random 20-character owner password if none has been set yet.
The title bar shows the running version number (e.g., sb0t 5.41).
3

Configure the basics

Fill in the following fields on the General tab before starting the server. All changes are written to the registry immediately as you type.
FieldRegistry keyDefault
Room namenamemy chatroom
Portport54321
Bot namebotsb0t
UDP addressudp_address0.0.0.0 (any)
External IPipLoopback (set via GUI)
Languagelanguage10 (English)
Set your external (public) IP address so that Ares clients on the internet can find you. If you do not know it, visit a site such as https://ifconfig.me and paste the result into the IP field.Choose a language code from the drop-down to advertise your room to users of the same locale in the Ares room list.
If you are hosting from a home connection, you must forward the chosen port (default 54321) on your router for both TCP and UDP. Without port forwarding, users outside your local network will not be able to connect. Check your router’s manual or a guide for your specific model.
4

Click Start server

Click the Start server button. sb0t executes ServerCore.Open(), which:
  1. Calls Settings.Reset() to reload cached registry values, invoke DoOnce.Run(), and ensure the Style data directory exists.
  2. Binds a TcpListenerEx to 0.0.0.0:<port> and calls Start().
  3. Binds a UdpListener to the address stored in udp_address on the same port and calls Start().
  4. Logs “Server initialized on port <port>” to the GUI log and to %AppData%\sb0t\<app-name>\serverlog.txt.
  5. Starts the server background thread, which runs filter import tasks, loads bans, initialises the captcha manager, resets flood control, and fires Events.ServerStarted().
If either listener fails to bind (for example, the port is already in use), an error dialog appears and the server does not start. Correct the port number and try again.
5

Connect with an Ares client

Open your Ares Galaxy client and navigate to Rooms → Join Room (or use a direct hashlink). Enter:
  • IP address — your external IP address
  • Port — the port you configured (default 54321)
  • Room name — the name you entered in the GUI
Alternatively, while the server is running you can click the Ares join button in the GUI, which constructs a hashlink (arlnk://…) and launches your local Ares client automatically. There is also a cb0t join button for the cb0t client (cb0t://…).Once connected you should see yourself in the user list and be able to chat.

First-Run Details

Each time ServerCore.Open() is called, Settings.Reset() invokes DoOnce.Run(). When the registry value do_once is 0 (never been set), or when %AppData%\sb0t\<app-name>\Style\template.htm does not exist, DoOnce.Run() writes a fresh template.htm for the ib0t web chat interface. If the file already exists and must be replaced, it is first backed up as template.broken. The owner password field is auto-generated as a random 20-character lowercase string when the GUI starts and no password is stored yet, then saved to the owner registry key. Record this value — it is the password used to claim Host-level access in the room via the Ares client.

Data File Locations

All runtime data files are stored under:
%AppData%\sb0t\<app-name>\
Subfolder / filePurpose
serverlog.txtTimestamped server event and error log (always written)
ChatLogs\<day> <month> <year>.txtDaily public chat logs (written when Chat logging is enabled)
Style\template.htmib0t web chat HTML template
Avatars\serverServer avatar image (JPEG, 90×90)
Avatars\defaultDefault user avatar image (JPEG, 90×90)
Extensions\<name>\extension.dllInstalled extension DLLs
TEMPLATE IMPORTER\Drop old sb0t 4.x template.txt here for auto-migration
FILTER IMPORTER\Drop old sb0t 4.x filter XML files here for auto-migration
You can open this folder at any time by clicking the Open data folder button in the GUI.
sb0t uses AppDomain.CurrentDomain.FriendlyName (the executable’s filename) as the registry key and data folder name. If you run two copies of sb0t.exe at the same time, the second instance will detect the mutex collision and exit with an error. To host multiple simultaneous rooms, rename each copy of the executable to a unique name (e.g., room1.exe, room2.exe) before launching.

Build docs developers (and LLMs) love