LIONFIN
Game server

Metin2 Server Hosting

VDS infrastructure with cores and memory reserved for your Metin2 private server project: FreeBSD, MySQL/MariaDB, NVMe storage and network-level DDoS filtering.

See packages From ₺899.00 per month (excl. VAT)
Server structure
db process + auth core + game cores per channel
Operating system
Traditionally FreeBSD; varies for file sets compiled from source
Database
MySQL or MariaDB (account, player, common, log)
Ports
Depend on the file set; auth and channel ports are defined in the CONFIG files
Recommended infrastructure
VDS with dedicated resources or a dedicated server

Quick answer

Metin2 server hosting means renting a virtual or physical server with dedicated resources to run the server files of a private Metin2 project. Metin2 server files traditionally run on FreeBSD; the game cores and the db process connect to a MySQL or MariaDB database. Memory and CPU needs grow as the number of channels and players increases. LIONFIN provides the infrastructure only: a VDS server, NVMe storage and DDoS filtering; the right to use the game files is the customer's responsibility.

Recommended server packages

There is no ready-made package for this use yet; these servers give you full control to install it yourself, or you can request setup through a support ticket. You complete the order on our Turkish store page.

VDS Pro

₺1,599.00 / month

  • 8 ayrılmış çekirdek
  • 16 GB RAM
  • 400 GB NVMe
  • 15 TB Trafik
  • 1 IPv4
  • Günlük yedek
Order (Turkish checkout)

VDS Max

₺2,899.00 / month

  • 12 ayrılmış çekirdek
  • 32 GB RAM
  • 800 GB NVMe
  • 25 TB Trafik
  • 2 IPv4
  • Öncelikli destek
Order (Turkish checkout)

Estimated resources for a Metin2 server by concurrent player scale

ScaleRAMvCPUDisk
Testing and development · 1–2 channels4–8 GB2–450 GB NVMe
Small launch · hundreds of concurrent players8–16 GB4–6100 GB NVMe
Mid scale · multiple channels, around 1,000 players16–32 GB8200 GB NVMe
Large project · with a separate database server32 GB+12+400 GB+ NVMe

Estimates; actual needs depend on mods, plugins and settings.

What does renting a Metin2 server mean?

Renting a Metin2 server means getting the processing power, memory, storage and network protection needed to launch your own private Metin2 project (commonly called a “PvP server” in Türkiye) from a hosting provider. You rent the infrastructure the game runs on, not the game itself: the server files, database, client and website are prepared by the project owner.

Türkiye is one of the countries with the highest concentration of private Metin2 projects. These projects usually focus on a particular era of the game (“oldschool” servers that preserve the classic experience, or “middle-school” and “newschool” servers with added systems) and aim to welcome hundreds or even thousands of players at once on launch day. That load is far too high to run on a home computer or in a shared environment.

The right infrastructure for a Metin2 project must provide three things at once: dedicated CPU and memory so the game cores run without interruption, fast storage that can carry the database write load, and network-level filtering against DDoS attacks that may come from rival projects. That infrastructure is exactly what LIONFIN provides; sourcing the game files, their licensing status and content management are the project owner's responsibility.

How does the Metin2 server architecture work?

A Metin2 server is not a single program but several processes working together: a db process that talks to the database, an auth core that verifies player logins, and multiple game cores that run the maps channel by channel. Each core runs in its own folder with its own CONFIG file.

  • db: acts as an intermediary and cache between the game cores and MySQL/MariaDB. It keeps player data in memory and writes it to the database at set intervals, which is why an improper shutdown of the db process can lead to data loss.
  • auth: the core the client connects to first; it verifies the account and password, then routes the player to the chosen channel.
  • Game cores: each channel is usually split across several cores, and each core runs specific maps. The number of channels and the map distribution directly determine the server's CPU and memory plan.
  • Database: usually consists of the account (accounts), player (characters, items), common (shared settings, banned words) and log (logs) schemas.

On the client side, the server address and ports are defined in files such as the client's serverinfo.py; they must match the port values on the server exactly. This architecture also explains why Metin2's resource needs depend on the number of channels and cores as well as on player count.

Which operating system does a Metin2 server run on?

Most Metin2 server files are compiled for FreeBSD, so the classic infrastructure for Metin2 projects is a server running FreeBSD. Old file sets may depend on older FreeBSD releases and 32-bit libraries, while up-to-date sets recompiled from source can run on newer FreeBSD versions.

Things to consider when choosing the operating system:

  1. Target system of the file set: find out which FreeBSD version and architecture (32/64-bit) your compiled cores were built for. On an incompatible system, the cores fail to start with library errors.
  2. Source code access: projects that have the source code can recompile the cores for the target server's system. This is also a major advantage for applying security patches and debugging.
  3. Database version: old sets were written around the behaviour of specific MySQL versions. On MariaDB or newer MySQL versions, strict SQL mode can cause query errors; you may need to configure sql_mode to match the set's expectations.

A VDS server uses KVM virtualisation, so it is suitable for installing different operating systems. If you do not see the FreeBSD version you need in the operating system list, you can open a ticket from the Support section of the customer panel before or after ordering to ask about installation options.

How much RAM and CPU does a Metin2 server need?

The resource needs of a Metin2 server depend on concurrent player count, the number of channels and cores, the complexity of added systems (bonus switching, alchemy, pets, war systems and so on) and database load. The table above gives estimates that also account for launch-day load; load observations during a closed beta show the real requirement best.

Keep these points in mind when planning:

  • Launch-day effect: in Metin2 projects, player numbers on the first day and in the first week can be several times those of later weeks. Plan resources for the peak, not the average; scaling down later is better than crashing at launch.
  • Load per core: spreading busy maps (starting villages, popular grinding spots) across separate cores balances CPU load.
  • Database: as player numbers grow, write load on the player and log schemas increases. Fast NVMe storage and enough memory for the database reduce latency.
  • Separate database server: on large projects, moving MySQL/MariaDB to a separate server improves both performance and security.

Dedicated cores give more predictable results than shared resources for applications under constant load like Metin2. For very large projects, a dedicated server that reserves all of the hardware is also worth considering.

Ready-made package, VDS or dedicated server for Metin2?

Metin2 uses a VDS or dedicated server with reserved resources rather than a ready-made game panel package, because a Metin2 server is a multi-process system that requires OS-level configuration and full administrator access. The package table on this page shows the current VDS options suitable for Metin2 projects live.

OptionBest suited for
Small VDSDevelopment, test server, closed beta
Medium and large VDSLive project, a few channels, game and database on one server
Two VDSArchitecture with game cores and database on separate servers
Dedicated serverMulti-channel, high-player-count, long-running projects

The biggest advantage of a VDS for Metin2 projects is flexibility: you can add resources as the project grows, open a second VDS for testing, and review your plan once post-launch traffic settles down. You manage the server yourself; the operating system, database and firewall settings are under your control. For a general comparison, see the game server package or VDS page.

How do you set up ports and the firewall on a Metin2 server?

The ports used on a Metin2 server are not fixed; in every file set, the auth core port, the channel core ports and the inter-core communication ports are defined separately in the CONFIG files. That is why giving a single value as “the Metin2 port” is wrong; you should go by the values in your own set.

The basic principle when setting up a firewall is this: open to the outside only the ports players need to connect to, and close everything else.

  • Must be open to the outside: the auth port and the channel ports players connect to.
  • Must be closed to the outside: the db process port, the inter-core (P2P) communication ports and the MySQL/MariaDB port (3306). Only the server itself or the separate database server should reach these ports.
  • Management access: open the SSH port only to your own IP address and log in with a key instead of a password.

On FreeBSD, the firewall is usually configured with pf; setting a per-IP connection limit is one of the most effective ways to mitigate connection flood attacks. After every change, check that the port values in the client match those on the server.

How do you protect a Metin2 server against DDoS attacks?

Because of fierce competition between rival servers, Metin2 projects are among the game servers most often targeted by DDoS attacks; launch days and big events in particular carry the highest risk. Effective protection starts with filtering attack traffic at the network level before it reaches the server.

On LIONFIN infrastructure, the RouteFence firewall filters volumetric attacks at the network level; 600 Gbit/s of total upstream capacity and 24/7 NOC and SOC monitoring in our data center are the foundation of this protection. However, with TCP-based games like Metin2, attacks are not only volumetric; connection floods that imitate the game protocol also occur. So you need to take measures on the server side too:

  1. Per-IP connection limit: limit the number of concurrent connections a single IP address can open in the firewall.
  2. Core-side checks: if you have the source code, add timeouts and packet validation at the handshake stage.
  3. Separate the website: host the registration and news site on infrastructure separate from the game server, so the site's IP does not reveal the game server.
  4. Separate patch distribution: distribute client patches (the patcher) from a separate server or a CDN, not from the game server.

What should you do about cheats and vulnerabilities on a Metin2 server?

Cheat prevention on Metin2 servers works on two layers: client-side protections that detect cheat programs, and server-side checks that verify whether every packet a player sends makes sense. Client-side protection alone is not enough, because the client always sits on the player's computer and can be bypassed.

Server-side checks you should prioritise include:

  • Speed and position validation: block speed and teleport hacks by checking the distance a player can cover between two packets.
  • Attack speed and range checks: validate the frequency of hit packets and the distance to the target.
  • Item and trade checks: item duplication (dupe) exploits usually appear in trade, storage and market systems. Make transactions in these systems atomic and keep logs.
  • Database security: use parameterised queries for registration and item-shop operations on the website; SQL injection is among the most exploited vulnerabilities in Metin2 projects.
  • Admin accounts: limit GM rights to as few accounts as possible and log GM actions.

For overall server security, keeping the operating system and database up to date, disabling unnecessary services and allowing only key-based SSH access are the basic steps.

How do you manage and back up a Metin2 database?

The most valuable asset of a Metin2 project is its database: accounts, characters, items and everything players have worked on for months are stored in the account and player schemas. Backing up the database regularly and copying the backup off the server prevents the worst disaster that can happen to a project.

  1. Take consistent backups: because the db process keeps data in memory and writes it at intervals, the safest backup is taken during maintenance after the db process has been shut down cleanly. For live backups, use mysqldump with the --single-transaction option on InnoDB tables.
  2. Move backups off the server: a backup on the same server offers no protection against disk failure or attacker access. Keep a copy in a different location.
  3. Manage the log schema: the log schema grows fast. Regularly archiving and deleting old records eases both disk usage and backup time.
  4. Test restores: you only know a backup works by restoring it. Run periodic restores on a test server.

Whether the database is MySQL or MariaDB does not change the management logic; however, because of version differences, restoring the backup on the same version is the smoothest route.

How do you monitor and improve Metin2 server performance?

Performance on a Metin2 server is managed by monitoring the CPU usage of the cores, the speed at which the db process writes to the database, and the stability of the network connection. Finding out which layer the problem players describe as “lag” comes from is the first step towards the right fix.

  • Per-core monitoring: on FreeBSD, the top command shows which game core is using a lot of CPU. If a single core is constantly struggling, its maps need to be split up.
  • Database latency: enable the slow query log to find long-running queries; missing indexes cause slowness especially in item and market tables.
  • Memory: the db process and cores increase memory usage with player count. A Metin2 server that falls into swap slows down noticeably.
  • Disk: heavy writes to the log schema and frequent backups can increase disk latency; NVMe storage reduces this effect.

Restarting the server before events and launch times clears memory build-up. Distinguish player-side network latency from server load before changing anything. For projects aimed at players in Türkiye, a server located in Türkiye is a natural advantage for keeping ping low.

Why should test and live environments be separated in a Metin2 project?

Separating the test and live environments in Metin2 projects is the only safe way to try new systems, patches and events without harming players. A code or database change made directly on the live server can lead to results that are hard to undo, such as an item duplication exploit or loss of character data.

A practical setup looks like this:

  1. Separate test server: a small VDS with the same operating system and database version as the live server is enough for testing.
  2. Anonymised data: if testing needs real player data, take a copy of the live database and clear personal fields such as email addresses and passwords.
  3. Version tracking: keep the core code and client files in a version control system (for example Git), so what each patch changed is on record.
  4. Rollback plan: take a database backup right before every update goes live, and decide in advance how you will return to the previous version if something goes wrong.

This setup may look like an extra cost at first, but in a large project a single faulty patch that drives players away costs far more.

What are the most common Metin2 server errors?

The most common problems on Metin2 servers are cores that will not start, clients unable to connect to the server, database connection errors and unexpected core crashes. Each core produces syslog and syserr files in its own folder; reading them is the first step of diagnosis.

SymptomLikely causeFix
Core will not startLibrary or FreeBSD version mismatchCheck the set's target system and recompile if needed
Stuck at the login screenauth port closed or wrong client IP/portCheck the firewall and client settings
db cannot connect to the databaseWrong user/password, MySQL not runningVerify the connection details and service status
SQL errorsStrict SQL mode on newer MySQL/MariaDBSet sql_mode to match the set's expectations
Random core crashesCode bug, insufficient memoryExamine the error with a core dump and check resources

For infrastructure issues (network, disk, access to the virtual server), you can open a ticket from the Support section of the customer panel; the content and code of the game files remain the project owner's responsibility.

How do you rent and prepare a server for a Metin2 project?

  1. 1

    Clarify your usage rights

    Make sure you hold the necessary rights to the game files and client you will use.

  2. 2

    Define the scale

    Work out the expected concurrent player count and your channel and core plan using the resource table.

  3. 3

    Choose a VDS package

    Pick a suitable VDS package from the package table; open a support ticket for a FreeBSD installation if needed.

  4. 4

    Set up the database

    Install MySQL or MariaDB, create the account, player, common and log schemas, and close the database port to the outside.

  5. 5

    Configure the firewall

    Open only the auth and channel ports and restrict SSH access to your own IP address.

  6. 6

    Set up backups and monitoring

    Plan regular database backups with an off-server copy and monitor the core logs.

Legal note

Metin2 is a proprietary game whose rights holders are Gameforge and Webzen; the game’s name, software and content are the intellectual property of these companies. Operating an unofficial (private) Metin2 server may infringe the rights holders’ rights and may have legal consequences. LIONFIN provides server infrastructure only (VDS, dedicated servers, network and DDoS filtering); it does not supply or link to game files, clients or source code. The customer is responsible for holding the necessary rights to the game files and content run on the server.

FAQ

Frequently asked questions about Metin2 Server Hosting

Renting a server, that is, buying an infrastructure service, is legal. However, the intellectual property of the Metin2 game belongs to its rights holders, and launching a project with unofficial server files may infringe those rights. You are responsible for the rights to the files you use; seek legal advice if needed.

No. LIONFIN provides only the server infrastructure: VDS, dedicated servers, NVMe storage and network-level DDoS filtering. The game files, client, website and content are prepared by the project owner, and the right to use them is the customer’s responsibility.

Most Metin2 server files are compiled for FreeBSD. Which version you need depends on your file set; old sets may require older releases and 32-bit libraries. If you have the source code, you can recompile the cores for the target system.

For testing and development, 4–8 GB of memory is usually enough. For a small live project, 8–16 GB is recommended, and 16–32 GB or more for multi-channel, busy projects. It is important to plan with launch-day load in mind; the values are estimates.

For most projects, a VDS with dedicated resources is sufficient and flexible; resources can be added as it grows. For multi-channel, high-player-count, long-running projects, a dedicated server that reserves all of the hardware gives more predictable performance. Moving the database to a separate server is another option.

On LIONFIN infrastructure, the RouteFence firewall filters attack traffic at the network level and the network is monitored 24/7. Even so, against connection floods that imitate the game protocol, adding per-IP connection limits and core-level checks on the server side is recommended.

Either can be used. What matters is compatibility with the database behaviour your file set was written for. On newer MySQL and MariaDB versions, strict SQL mode can cause query errors in old sets; in that case you need to adjust the sql_mode setting to match the set’s expectations.

The most consistent backup is taken with mysqldump during maintenance, after the db process has been shut down cleanly. For live backups, use the --single-transaction option on InnoDB tables. Always keep a copy of the backup off the server and run regular restore tests.

There is no universal port number for Metin2. The auth, channel and inter-core communication ports are defined separately in the CONFIG files of each file set. Open only the auth and channel ports to the outside; keep the db, internal communication and database ports closed.

It is not recommended. Hosting the website on separate hosting or a separate server prevents the site’s IP address from revealing the game server and makes it harder for a web vulnerability to affect the game server. Distributing patch files from a separate source is also good practice.