OPEN TIBIA · SERVERS & MONITORING
OPEN TIBIA SERVER SETUP

Create & develop an Open Tibia server

Start from the basics: choose an engine, build a working world, test it and prepare a public launch. Follow one step at a time.

01 / START HERE

Understand the parts

Engine: the program that runs your world. Data pack: maps, monsters, NPCs and scripts. Database: accounts, characters and saved progress. Client: the application players use to connect. AAC: an optional account-management website.

Start on your own computer with one engine, its matching data pack and supported client. Move to a VPS or dedicated host after your local test works. You need a trusted matching build or source code, a database service and permission to use your chosen assets.

02 / CHOOSE YOUR BASE

Which engine should I choose?

Choose your world and client protocol first. Then choose a release that explicitly supports them. TFS 1.4.2 is an engine version; 8.60 is a client version.

Your goalCheck firstBefore downloading
A TFS-based custom worldTFS 1.xRead the selected release’s client support and build guide.
A Canary / OTServBR worldCanaryMatch engine, data pack and client instructions.
A specific legacy packMatching OTX / TFS 0.x forkConfirm the exact fork, dependencies and maintenance status.
An old-school projectOTHire, Nostalrius or a downgradeVerify the supported protocol.

TFS setup documentation ↗ · Canary project ↗

Not sure yet?

Pick one documented release and finish its local tutorial before adding custom systems. Do not combine an unrelated executable, data pack, schema and client.

03 / MATCH YOUR FILES

Download, extract and build

  1. Get the selected release from its repository. Save its tag/version name for support.
  2. Follow that release’s Windows or Linux build instructions and install its required dependencies. Use an official prebuilt executable only when the project supplies one for your environment.
  3. Keep the matching data folders, map and database schema. Create your working config.lua from the supplied example, often config.lua.dist.
  4. Back up this clean installation before changing maps or scripts. Test one change at a time.

For TFS, start with Running your first OT server ↗. Canary users can follow the matching release instructions in OpenTibiaBR documentation ↗. Build commands differ between releases.

04 / ACCOUNTS & SAVES

Create the database and configure the engine

  1. Install the database service required by your release, commonly MariaDB or MySQL. Create an empty database and a dedicated game-server user.
  2. Import the schema supplied with that exact engine. The OtservAds website schema is not your game schema.
  3. Enter its database host, name, user and password in the game configuration. Many TFS releases use mysqlHost, mysqlDatabase, mysqlUser and mysqlPass; confirm the keys in your example file.
  4. Set your server name, map/data-pack options, login address and ports. Keep credentials private and the database off the public internet.

If you see an unknown setting or schema mismatch, check your release’s documentation instead of copying another engine’s configuration.

05 / FIRST SUCCESS

Log in locally first

  1. Start the engine from its expected working directory. Read the console until the database, map and network services load successfully.
  2. Create a test account and character with your release’s documented account tools. Account schemas differ; there is no universal SQL insert for all engines.
  3. Use a supported client and its documented login settings. A same-machine test may use 127.0.0.1; a different device needs the host’s LAN address.
  4. Log in, move, fight, save and reconnect. Check that progress survives a clean restart.
Something failed?

Database connection refused: check the database service and credentials. Map/item loading error: check asset versions. Cannot log in: check client compatibility and whether the release expects a traditional login port or a login webservice.

06 / PUBLIC CONNECTION

Make the server reachable

  1. Install your tested engine, data and database on your chosen host. Repeat the connection test there.
  2. Point a domain/subdomain to its public address. Enter a login host such as login.example.org without a URL protocol or path.
  3. Configure the engine’s public login address and ports. TCP 7171 for login/status and 7172 for the game are common examples; use your actual settings.
  4. Allow the required services in the host/provider firewall. Home hosting may also require router forwarding to the server’s LAN address. CGNAT may require a public IP or hosted server.
  5. Have someone outside your network test both logging in and entering the game.

OtservAds needs a valid TSQP status response. An open TCP port alone is not enough. Use the engine’s status port in the listing; an HTTPS login webservice is a separate service. Keep status-query protections enabled.

07 / OPTIONAL

Do I need a website?

A public website is optional for an OtservAds listing. You can continue without one after the form’s warning. Your engine may still require a separate login webservice for its client.

If you want an AAC website, choose one compatible with your engine’s schema and login flow. Follow its installation instructions, configure HTTPS and test account creation. Enter the real working website in the listing; it must belong to the login address’s domain under the current website rules.

08 / YOUR LISTING

Add your server to OtservAds

  1. Create an account or sign in. Verify your email when email verification is enabled.
  2. Accept the server rules. Use honest player counts, location, version and features.
  3. Open Add server. Enter its name, public login host, status port, hosting country, client version, world type and experience multiplier.
  4. Add an optional working website and a useful description. The form checks the connection and any supplied website before publishing.
  5. Inspect the published detail page. Monitoring normally checks status every 3 minutes.

Need Unique Players? Open the engine-specific setup guide and choose your engine/version. Canary and some other engines already send it.

Online rewards: each server earns its owner 1 token for every complete, continuously monitored 24 hours Online. Failed checks or a monitoring gap longer than 6 minutes restart the period. See Promotions & tokens for progress and full conditions.
Ready? Add your server →
09 / DEVELOP YOUR WORLD

Build your skills in a practical order

  1. Learn the data pack first. Find its configuration, monsters, spells, actions and events. Folder names and registration formats differ between engines, so follow the examples shipped with your release.
  2. Start with Lua. Change a small spell or add a simple action on a private test server. Read an existing working script, make one change, restart or reload as documented, and check the console.
  3. Learn basic SQL. Understand tables, keys and backups before changing accounts or character data. Practise with a copy of the database.
  4. Work on maps and content. Use a map editor and asset versions compatible with your data pack. Test spawns, quests, entrances and saves.
  5. Use Git. Save a clean baseline, commit each working change and keep a way to roll back. Keep passwords, private keys and live player data out of the repository.
  6. Move to C++ when needed. Learn to compile the unchanged engine first. Change source only when the feature cannot be implemented through the supported Lua/configuration interfaces.
  7. Test before release. Check permissions, rewards, disconnects, restarts and interactions with existing systems. Keep development separate from the live world.

Useful first project: make one small quest, test it with two characters, verify rewards cannot be claimed twice and confirm progress survives a restart. Then move on to a larger system.

10 / LAUNCH & MAINTAIN

Maintenance and backups

Test with real players before launch. Keep off-host database/data backups, test restoring them, watch crash logs and maintain the engine and account website. Tell players about maintenance and planned resets.

Introduce your world in our community. Optional featured cards, highlights, banners and countdowns can advertise your launch; they do not change player counts or guarantee visitors.

11 / ASK THE COMMUNITY

Forums, tutorials and help

How to ask a useful support question

Search first, then include your engine/fork and release, OS, client protocol, exact error, steps to reproduce and what you already tried. Use code blocks for logs and remove passwords, tokens and private player data.

Engine / release:
Operating system:
Client protocol:
Exact error:
Steps to reproduce:
What I already tried:

These external communities are independent of OtservAds. Check each tutorial’s date and engine version before using its instructions.