A technical case study of extending Canary to build a custom Tibia server, web account platform, and database-backed progression systems.
Project currently paused.
Noctera Pass progression interface.
Noctera was a personal custom Tibia server built on top of Canary, an existing C++-based game-server engine.
My work focused on extending the existing platform through:
- Lua gameplay systems.
- SQL/MySQL persistence.
- Game Store and economy customizations.
- Progression and reward systems.
- Custom world content.
- A Next.js account platform.
- A seasonal Battle Pass called Noctera Pass.
The original development repositories remain private. This repository is a documentation-focused engineering case study and does not contain the complete original source code or Git history.
| Area | Description |
|---|---|
| Project type | Custom Tibia server and web account platform |
| Server foundation | Canary |
| Main custom system | Noctera Pass / seasonal Battle Pass |
| Server work | Lua, SQL, Game Store, progression and custom content |
| Web work | Account platform, administration and Battle Pass interface |
| Integration model | Shared MySQL database |
| Current status | Paused |
The main integration model used a shared MySQL database between the web platform and the game server.
flowchart LR
WEB["Noctera Web<br/>Next.js + React + TypeScript"]
ORM["Prisma"]
DB[("Shared MySQL database")]
SERVER["Canary server<br/>C++ foundation + Lua extensions"]
PASS["Noctera Pass progression"]
STORE["Game Store and economy"]
WEB --> ORM
ORM --> DB
SERVER --> DB
SERVER --> PASS
PASS --> DB
SERVER --> STORE
STORE --> DB
The Battle Pass used database-backed state rather than a direct REST API between Canary and Next.js.
The web application was built with:
- Next.js.
- React.
- TypeScript.
- Prisma.
- MySQL.
- NextAuth.
- Tailwind CSS.
It included account and character management, Battle Pass presentation and administration, reward configuration, and store/order-related functionality.
The server customization focused on extending Canary's existing Lua and data-driven systems.
The work included:
- Gameplay event hooks for progression.
- Custom player commands.
- Game Store categories and products.
- Noctera-specific items and services.
- Integration with Canary's Store Inbox delivery.
- Custom economy behavior.
- Player KV persistence.
- Map, item, NPC, monster, boss and quest customization.
- Progression and reward features.
This represents gameplay and platform customization on top of Canary. It does not represent building the Canary C++ engine from scratch.
The Noctera Pass was the main cross-repository feature.
It included:
- Seasons.
- Tasks.
- Gameplay-based progression.
- Season EXP.
- Player ranks.
- Rewards.
- Web claims.
- In-game claims.
- MySQL persistence.
Gameplay progression was connected to experience gain, monster kills and item or loot acquisition.
The web application managed seasons, tasks and rewards, while the game server processed gameplay progression and in-game reward claims through shared database state.
The Noctera Pass reached a functional prototype stage across both repositories. Gameplay progression and database-backed claims were implemented, while some reward handlers and paid-rank activation remained incomplete when development was paused.
A custom cosmetic system with a skin catalog, player selection commands, KV persistence and integration with Magic Wall creation.
A timed upgrade system using KV persistence, scheduled expiration and training integration. Some upgrade behavior remained incomplete.
Custom Game Store categories, Noctera products, Store Inbox integration, coins, services, consumables and Battle Pass products.
| Area | Canary provided | Noctera work |
|---|---|---|
| Server engine | Existing C++ runtime and core systems | Extended behavior through Lua and configuration |
| Networking | Existing client/server protocols | Used existing interfaces and event hooks |
| Database foundation | Accounts, players, coins, VIP and store tables | Added and integrated Noctera-specific data models |
| Game Store | Existing catalog and purchase pipeline | Added Noctera categories, products and services |
| Gameplay | Existing event and scripting framework | Added custom progression, cosmetics and upgrades |
| World content | Existing Canary content | Added and adapted Noctera content and balance |
| Web platform | Not provided by Canary | Built the Noctera account and Battle Pass platform |
| Battle Pass | Not provided as a complete Noctera feature | Designed and implemented the server/web system |
TypeScript · Next.js · React · Prisma · MySQL · NextAuth · Tailwind CSS
Canary · Lua · MySQL · SQL · XML · KV persistence
C++-based Canary server
Noctera predates my current AI-assisted development workflow and was built primarily through traditional programming, codebase exploration and standard autocomplete tooling.
- Project currently paused.
- The original web and game-server repositories remain private.
- This repository is a public technical case study, not a source distribution.
The original web and game-server repositories are private because they contain original source code, operational configuration and project-specific details.
This repository documents the architecture, custom systems, technical decisions and development work behind Noctera without exposing:
- Credentials or secrets.
- Webhooks or private keys.
- Internal infrastructure details.
- Database dumps or player data.
- Production logs.
- Non-redistributable assets.
- The complete original source code or Git history.
Any Canary or third-party material remains subject to its respective license.



