Pages

Metin2 Server Config

Metin2server config analysis

In metin2 server are two (or three) different configs.

1. DB (dbhandler)

this part of server loads and saves data in database
example conf.txt (mostly found in g1/db/conf.txt:
WELCOME_MSG = "DB Server has been started"

SQL_ACCOUNT = "host account user pass 0"
SQL_PLAYER = "host player user pass 0"
SQL_COMMON = "host common user pass 0"
SQL_HOTBACKUP = "host hotbackup user pass 0"

TABLE_POSTFIX = ""

BIND_PORT               = 15000
DB_SLEEP_MSEC           = 10
CLIENT_HEART_FPS        = 10
HASH_PLAYER_LIFE_SEC    = 600
BACKUP_LIMIT_SEC        = 3600
PLAYER_ID_START = 100
PLAYER_DELETE_LEVEL_LIMIT = 70
PLAYER_DELETE_CHECK_SIMPLE = 1

ITEM_ID_RANGE = 2000000000 2100000000

MIN_LENGTH_OF_SOCIAL_ID = 6

#NAME_COLUMN = "gb2312name"
#LOCALE = "germany"
SIMPLE_SOCIALID = 1
Block "Y/QSB7omi36awq4ctpUxuiwRARM="

 explantation:
WELCOME_MSG - Message shown when starting dbhandler

SQL_ACCOUNT - direct connection to the MySQL db account
SQL_PLAYER - direct connection to the MySQL db player
SQL_COMMON - direct connection to the MySQL db common
SQL_HOTBACKUP - direct connection to the MySQL db hotbackup
(the entries are format "ip/host_of_db_server name_of_db(account/player/common/hotbackup) mysql_user mysql_pass 0", for examlpe "localhost account mydbaccount passwd 0")

TABLE_POSTFIX - leave blank until your tables has postfix

BIND_PORT - on this port will be connected each server process

PLAYER_DELETE_LEVEL_LIMIT - max level when it's possible to delete character

other values are not interesting

2a. Login server (auth)

This part take care of login attempts
example CONFIG: (found in g1/auth/CONFIG)
HOSTNAME: auth
CHANNEL: 1
PORT: 11002
P2P_PORT: 12000
DB_PORT: 15000
DB_ADDR: localhost
TABLE_POSTFIX:
ITEM_ID_RANGE: 000000001 000000002
PASSES_PER_SEC: 25
SAVE_EVENT_SECOND_CYCLE: 180
PING_EVENT_SECOND_CYCLE: 180
AUTH_SERVER: master
PLAYER_SQL: localhost user pass account
COMMON_SQL: localhost user pass common
LOG_SQL: localhost user pass log
LOCALE_SERVICE: GERMANY

 2b. World server (game)

This is main part of server, handles world, players, quests, etc.

example CONFIG:
HOSTNAME: channel1
CHANNEL: 1
PORT: 13000
P2P_PORT: 14000
DB_PORT: 15000
DB_ADDR: localhost
MAP_ALLOW: 64 81 112 113 114 118 119 120 121 122 123 124 125 126 127 128 181 182 183
TABLE_POSTFIX:
PASSES_PER_SEC: 25
SAVE_EVENT_SECOND_CYCLE: 180
PING_EVENT_SECOND_CYCLE: 180
PLAYER_SQL: localhost user pass player
COMMON_SQL: localhost user pass common
LOG_SQL: localhost user pass log
#TEST_SERVER: 1
NO_PK: 1
VIEW_RANGE: 8000
CHECK_MULTIHACK: 0
LOCALE_SERVICE: GERMANY
#TEST_SERVER: 1
MAX_LEVEL: 250
Because AUTH and GAME configs are similar i'll explain them at once:
HOSTNAME - unique name of each process (auth, channel1, channel2, etc.)
CHANNEL - says which channel it will be
PORT - in/out port for conneting for players (unique)
P2P_PORT - port for comunicating with other channels
DB_PORT - binded port in dbhandler
DB_ADDR - ip of server where dbhadnler runs
MAP_ALLOW - list of maps which it loads
PLAYER/COMMON/LOG_SQL - connectiond details for databases
(in auth config is PLAYER_SQL: host user pass account instead of PLAYER_SQL: host user pass player)
TEST_SERVER - allows everyone gm's commands
LOCALE_SERVICE - set your locale's language
MAX_LEVEL - maximal allowed level (since sf 2010)
MAX_STATUS - maximal allowed status (since sf 2010)