Troubleshoot a Metin2 connection
Fix common connector, MySQL, account, delivery, and presence symptoms
Start with the connector's first error and the visible player symptom. Use the
same MySQL user and database names as portal.toml when testing queries.
Server stays Disconnected
Likely causes: Node is older than 22, the process starts outside the profile directory, the token is stale, or outbound WSS is blocked.
Check: run node --version, confirm both files are together, and inspect the
startup log before changing SQL.
Connector exits with a profile error
Likely causes: invalid TOML, an unsafe database identifier, a missing
@parameter, or account queries without [account].
Check: fix the exact dotted path in the error. Remove an unsupported optional section rather than filling it with placeholder SQL.
Account linking fails
Likely causes: wrong password format, wrong account database, or a status rule that marks valid accounts disabled.
Check: read the running auth core or web application's hashing code. Test a known account in the game and portal with the same password.
Created account cannot log in
Likely causes: the hash format differs, required datetime columns were omitted, or the base expects another account field.
Check: compare the created row with a game-created account, then follow Configure the Metin2 connector.
Characters do not appear
Likely causes: wrong player_index join, postfixed database names, or moved
empire/job columns.
Check: run list_characters for the linked login and confirm aliases and
slot ids against this base.
Catalog search returns nothing
Likely causes: locale_name is binary and not converted, item_proto has a
postfix, or the account points at another player database.
Check: follow Show characters, rankings, and online players.
Purchase completes but item is not in the gift box
Likely causes: this core does not poll item_award, the schema needs extra
columns, or mall has different meaning.
Check: inspect the row and the game core's award query, then compare it with Deliver items and currency. A row in MySQL is not sufficient verification.
Online count is wrong
Likely causes: loginlog2 is unused, the latest-session condition is wrong,
or the last_play window does not match save frequency.
Check: watch one login/logout row and both timestamps while entering and leaving the game. Adjust the query to observed behavior, not a guessed flag.