This tutorial will leads you to
Set multiple char-server as shown as multi services after login in RO Client
Set multiple map-servers for 1 char-server
A Lazy setup
So called Lazy setup because this guide only "copy" the necessary super minimum config file.
The Lazy config will runs same server cores, so if server is compiled in renewal, you only can change the rates as example
to make different server types (mod, renewal vs pre) you have to copy/separate the rathena files, u will understand if you can understand this basic (... that's what I thought)
How to make it no lazy? Just copy the folders, restructure by using decent directory names... so lazy to write it now, maybe later
I've seen the setup before, years ago, can't recall where, maybe in old wiki? Because in current wiki is just like this: Multiple Servers.
1 Login-server with Multiple Char-Server
1 login-server
set just like your normal setup
add 1 more connection account in login (sex = 'S'), the username & password must be different with the first one. Example by default is s1 and p1, this entry be s2 and p2
2 char-servers
char-server A
set just like your normal setup
map-server A.1
set just like normal setup
char-server B
copy conf/char_athena.conf as conf/char_athena2.conf
change the userid: s2
change the passwd: p2
change the server_name: rAthena-2
change the char_port: 6122
map-server B.1
copy conf/map_athena.conf as conf/map_athena2.conf
change the userid: s2
change the passwd: p2
change the char_port to match char-server B, 6122
change the map_port: 5122
in addition maybe you later can copy conf/battle/* to conf/battle2/*, so just do this int this example. So you need to copy conf/battle_athena.conf to conf/battle2/battle_athena.conf
MySQL Databases
DB1
Create database with name (if default is) ragnarok
Do normal config, import everything just like normal config
DB2
Create database with name ragnarok2
Do normal config, import everything just like normal config
inter_athena.conf setup
Inter-1
set as normal setup
Inter-2
copy conf/inter_athena.conf as conf/inter_athena2.conf
set as normal setup
change the char_server_id to ragnarok2
change the map_server_id to ragnarok2
change the log_db_id to ragnarok2
Run the servers
Run login-server
Run char-server A and map-server A1 just like running a server
For the 2nd server (char-server B and map-server B.1) follow this
You can run manually by open command line or copy the charserv.bat and mapserv.bat file (that's why I against deleting .bat file in compilation), by following
char-server.exe--inter-config conf/inter_athena2.conf --char-config conf/char_athena2.conf
map-server.exe --inter-config conf/inter_athena2.conf --map-config conf/map_athena2.conf --battle-config conf/battle2/battle_athena.conf
1 Char-Server with Multiple Map-servers
By simple examples you want 2nd map-server have towns only
And this map-servers are part of Char-Server B
be careful between map_athena and maps_athena, there's "s" and there is not.
Map-Server B.1
From conf/map_athena2.conf
Change import: conf/maps_athena.conf to import: conf/maps_athenaB1.conf
Copy conf/maps_athena.conf to conf/maps_athenaB1.conf
Remove/comment payon, prontera, izlude, morocc, and other cities from this map-server in file conf/maps_athenaB1.conf
Copy npc/script
Map-server B.2
Copy conf/map_athena2.conf to conf/map_athena2a.conf
Set map_port: 5123 (5121 used for Map-server B.1, while 5122 for B.2)
Change import: conf/maps_athenaB1.conf to import: conf/maps_athenaB2.conf
Make a new file conf/maps_athenaB2.conf
Add the entries
map: payon
map: prontera
map: izlude
map: morocc
// ...
Now re-run the Map-server B2 then following by B3
map-server.exe --inter-config conf/inter_athena2.conf --map-config conf/map_athena2.conf --battle-config conf/battle2/battle_athena.conf
map-server.exe --inter-config conf/inter_athena2.conf --map-config conf/map_athena2a.conf --battle-config conf/battle2/battle_athena.conf
Your map-servers will be run wil neat error messages because missing NPC LOL. Because map-server will hardcoded-ly reads NPC scripts listing from /npc/[pre-]re/scripts_main.conf, you can redefine the path in config file LOL. That's why I say this setup is lazy, because I lazy to copy 'rathena' dir to another dir > then to give an example to remove unnecesary NPCs
Known Multi Server Issues
Multi Char-server issues
None yet
Multi Map-server issues
Some atcommands, such who commands
Calling player from other map-server, such Emergency Call skill
Channel System
Guild storage dupe, yeah, never enable (at)gstorage command if you run this mode
The rest later, I forgot all topic references
Map-server reads scripts_main.conf from same root directory, can redefine
Image, video, or any materials to make this tutorial can be fancier, will be added later (so much later....)