Welcome!

Join our community of MMO enthusiasts and game developers! By registering, you'll gain access to discussions on the latest developments in MMO server files and collaborate with like-minded individuals. Join us today and unlock the potential of MMO server development!

Join Today!

Metin2server config analysis

Initiate Mage
Joined
Dec 16, 2012
Messages
3
Reaction score
0
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:
Code:
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)
Code:
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:
Code:
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)

Hope you like my post
 
Back
Top