Everything you need.
Nothing to add.
Client, server, every line of source, the 2014 locale and 15 languages. Yours forever.
See it running.
One payment. Yours forever.
No subscription. No tiers. No upgrade fee.
Nothing to buy twice.
One price, and nothing else to buy afterwards.
Rebuilt on a
current toolchain.
32-bit & 64-bit
Both maintained. The 64-bit build ran live for three years before it went on sale.
C++20 everywhere
clang 22 on FreeBSD, MSVC v145 on Windows. Same sources, no edits.
DirectX 9Ex
Half the memory, proper device-loss handling, zero hand-patched libraries.
I will set up your working environment.
Not a PDF you follow alone. Everything installed and configured on your PC, while you watch.
Your only job is to download AnyDesk. I install and configure everything myself, and we do not stop until your server is online. If you want, we do it on a voice call so you can watch and ask anything you like. Entirely up to you.
Three possible installations.
Local VM, FreeBSD server, Windows. One of them, or all three, whenever you need them.
Local VM
FreeBSD inside VirtualBox on your own PC. The safest place to break things, and it costs nothing to run.
VPS or dedicated
A real FreeBSD machine. I tell you which one to rent, then install and prepare it for Metin2 myself.
Windows Server
The best place to dig into the code. Building and debugging are simply easier here.
One does not exclude the other. The same code compiles on Windows and on FreeBSD, and the repository is already laid out for it, so you move between them without toggling anything strange.
A test VPS costs five or six euro a month. I tell you which one to take, and after you buy I install it and prepare it for Metin2 myself. And if anything ever goes wrong (a format, a new host, a fresh start) you ask and I do it again. It is always free.
Built for the workflow.
One shared Extern. Update a library once and the whole tree follows.
One Extern, three consumers
Srcs-Client, Srcs-Server and Tools all point at the same
Extern. Bump a dependency in one place and every project picks it up. No
copies to keep in sync, no build that works in one folder and breaks in the next.
Srcs-Servercommon, game, db and the libs. One tree that builds on FreeBSD and on Windows.Srcs-ClientAll 16 client projects, C++20 on MSVC v145.WServerWindows server projects, each with its own working directory.DatabasesThe SQL you import, 2014 English skill_proto included.ToolsDumpProto, DumpSQLProto and the owner panel.WORK-ON-*.mdEvery numbered fix, macro and setting, written down.
You will be set up on GitHub and taught how to work with it, so pulling a patch never costs you the work you built on top. Keeping your revision current becomes a habit, not a project.
Serverfiles.
One folder on the machine, one panel to drive it. Adding a channel or a whole core is a copy away.
Everything where you expect it
authThe auth core, on its own, with its own logs.dbThe database core.shareThe data every core reads from, in one place instead of copied per channel.backupsWritten bybackup.pyon the schedule you set.ScaleAdding a channel, or an entire extra core, is a copy and a config line. Nothing is wired to a fixed count.panel.pyThe owner panel. That is the next screenshot.
BatchChain commands with a space.2 3 1stops the server, clears the logs and starts it again.Safe stopIt watches every process go down and tells you if a core was already dead. No moreps xbefore a restart.QuestsCompiles every quest, finding your locale folder on its own whatever you called it.
A database stripped to the bone.
Whole tables gone, and most of the fields inside the ones that stayed. Delete a system and there is nothing left for it to store.
Four of them are yours. The other four are MySQL's own.
No auction, no monarch, no castle, no siege, no lotto, no highscore. The code went, and its tables and columns went with it.
Static launcher.
Since v5.2 the proprietary runtimes are compiled into the launcher itself.
StaticDevIL replaced by stb, Miles Sound System replaced by SoundLib, built on miniaudio. No third-party image or audio runtime left to distribute beside the client.DirectXThe only DLLs still in the folder are the DirectX wrappers, kept for players who never installed the old runtimes.UnpackRebuilt from scratch. The 60+ patch folders of the 2014 client are gone; every asset now lives in its own scope: icons inicon, pc inpc, pc2 inpc2.1 GBSmall, intuitive, and you can actually find what you are looking for.
Systems, ready to switch on.
Every one behind its own macro.
Latest releases.
Each one lands on your revision as a clean diff. Free, forever. You never pay for a version twice.
The log starts at 4.x. The early years are not on this page: the work happened, the writing down did not. The number is not arbitrary either: 4.x is where the count of rewrites and fixes had taken the base by the time it was stable, in 2024. Everything from that point on is here, in full.
Read the documentation.
The same files that come with the base, in full. Open a section and read it end to end, or search it.
Every fix is tracked, and the numbering starts at 1 and goes up. Not at 100, not at 200, not at 300. Some people reserve the leading digit to mark which project a fix belongs to, so their lists open at a big number and read as if there is more in them. Mine start at one. Count them end to end. That is the real number.
Before you ask.
Stop planning. Start building.
Pick your build and be online today.