Just because I know the other senior dev's have been pummeled and I find the setup process unbearably easy. I'm going to give you guys the 411.
FIRST and foremost, the following assumes that you have:
- Installed Microsoft SQL Server 2014 (FULL) Evaluation [180 days] with the following settings
- Default (NOT NAMED!) instance [VERY IMPORTANT]
- Mixed Authentication Mode
- TCP/IP Enabled (In SQL Configuration Manager under protocols) enabled
- Caution: It is advised to not only firewall lock 1433 but if you MUST have external use to use a custom port and change it often couple with strict permission based database accounts.
- Downloaded and extracted the
(Thanks Team Revolution
)
- Downloaded and extracted the 9.1 Client for your region
- Installed

Warnings:
- If you do not meet the above requirements this guide does not apply to you, you should stop right now!
- To make the server public:
- Open the following ports in your Windows Firewall + any router based fire-wall that may be applicable! [Ports: 58422, 32214, 15574]
- Change 'S:io.ip_address:127.0.0.1' setting in gameserver.opt to your external ip [you can find
]
Moving on...
For the sake of this guide we're gonna use a specific folder setup, failure to follow the below guide will result in 'NO SUPPORT FOR YOU' keep that in mind.
Step One
- Create a new folder on your Desktop called: server_bin
- Create folder called: Auth_Bin
- Create a folder inside [Auth_Bin] called upload
- Download the
(Thanks Glandu2
)
- Open the Auth Emulator package
- Extract RappelzAuthServer.exe to the folder you created [Auth_Bin]
- Create a new file in notepad++ and paste the following code into it, edit as needed and save as auth.opt in the 'Auth_Bin' folder
Code:
Code:
#Database configuration
auth.db.server:127.0.0.1
auth.db.port:1433
auth.db.name:auth
auth.db.account:sa
auth.clients.maxpublicserveridx:10
#Server Index Offset Column Name
sql.db_account.column.serveridxoffset:server_list_mask
#include config in common.opt
%include:common.opt
- Create a new file in notepad++ and paste the following code into it, edit as needed and save as common.opt in the 'Auth_Bin' folder
Code:
Code:
#Write trace log messages to file and show only info log messages on console
core.log.level:trace
core.log.consolelevel:info
#Enable traffic dump, will be in traffic_log folder (default off)
#trafficdump.enable:true
#The password is in plain text if you have one
auth.db.password:REPLACE.ME.WITH.YOUR.AUTH.DB.USER.PASSWORD.IN.PLAIN.TEXT
auth.db.salt:5dd23
#You can make auth.dbo.Accounts.[password] by visiting:
# http://www.miraclesalad.com/webtools/md5.php (KEY+PASSWORD = hashed password)[No spaces between KEY and PASSWORD]
# Copy the resulting md5 into the password field of your account entry
#Where clients will connect (this is default values)
auth.clients.ip:0.0.0.0
auth.clients.port:58422
auth.clients.des_key:MERONG
#Where the gameserver will connect (this is default values)
auth.gameserver.ip:127.0.0.1
auth.gameserver.port:4502
#Upload configuration, use "upload" directory for guild icons
upload.dir=upload
upload.clients.ip=0.0.0.0
upload.clients.port=32214
#Use port 5000 for the guild icon mini webserver (the listen ip is also upload.clients.ip)
upload.clients.webport:5000
#Where the gameserver will connect (this is default values)
upload.gameserver.ip:127.0.0.1
upload.gameserver.port:4616
#Only for SQL Server: speed up selects with NOLOCK
sql.db_account.query:SELECT * FROM Accounts WITH(NOLOCK) WHERE login_name = ? AND password = ?;
- Open the 9.1 package
- Open GameEngine, extract all contents [Except for Auth_Bin] to the previously created [server_bin] folder
- Download
(for gameserver.opt) and extract it's contents to the [server_bin]/[game_bin] folder
- Bring 9.1 package back to front
- Back out of GameEngine and enter dbs folder
- Extract arcadia ONLY (Billing/Telecaster are not needed) to the root of your Local Disk (e.g. C:\)
- Download my
(place it also in the root of your Local Disk) - Download my
(place it also in the root of your Local Disk)
- Minimize the 9.1 Package for now
Step Two
Step Three
- With the 'Security > Logins' branch still expanded, right click the user you have created for Auth and double-click it
- Click the 'Mappings' label to the left of the window
- In the 'Users mapped to this Login:' section, check the 'auth' table
- In the 'Database Role Membership:' section, check appropriate roles:
- Auth Roles: db_reader/db_writer
- Arcadia Roles: db_reader
- Telecaster Roles: db_reader/db_writer
- Do this for each name (we have already done auth, now do arcadia and telecaster using the above Roles)
- Collapse the 'Security' branch and expand your Auth table (double-click)
- Expand the 'Security' branch of your Auth Database
- Expand the 'Schema' branch
- Double click the 'db_reader' / 'db_writer' role (one by one) according to the accounts roles to open the Schema Settings
- Click the 'Permissions' label to the left side of the window
- Beside 'Users or Roles' click 'Search' button
- In search prompt click 'Browse'
- Check the name of your Auth account who you mapped previously
- Press 'Ok' on the search prompt
- Back inside the 'Permissions' section of the schema settings make sure your previously searched user is highlighted
- In the 'Permissions for <name>' section check the appropriate permissions for the role and database being done
- Auth db_reader permissions: Select
- Auth db_writer permissions: Insert
- Arcadia db_reader permissions: Select
- Telecaster db_reader permissions: Select
- Telecaster db_writer permissions: Insert/Update/Delete
- Set the permissions for Arcadia, Telecaster in the same manner using the above permissions.
- Collapse the branches back down so that you can see all three databases [auth, telecaster, arcadia]
- For Auth/Telecaster ONLY Right click and click 'Properties'
- For Auth/Telecaster ONLY Click the 'Permissions' label to the left of the window
- Make sure that the access name for your table is listed in the 'Users or Roles:' section and make sure to click it to select it (if its not selected)
- Scroll down and check 'Execute' and save/exit the window
Step Four
- We are done with SSMS so you can close/minimize it for now.
- Navigate to the [server_bin]/[game_bin] folder and open the gameserver.opt
- Immediately replace it's entire contents with the following code:
- Code:
Code:
S:app.name:REPLACE.ME.WITH.TITLEBAR.NAME
T:auth.server_idx:1
S:auth.server_name:MyVeryOwn91Server
S:db.c.server:127.0.0.1
S:db.c.name:arcadia
S:db.c.account:sa
S:db.c._password:REPLACE.ME.WITH.PYROK.TOOL.GENERATED.PASSWORD
S:db.user.server:127.0.0.1
S:db.user.name:telecaster
S:db.user.account:sa
S:db.user._password:REPLACE.ME.WITH.PYROK.TOOL.GENERATED.PASSWORD
N:io.port:15574
S:io.auth.ip:127.0.0.1
S:io.ip_address:127.0.0.1
S:log.chat.ip:127.0.0.1
S:log.ip:127.0.0.1
T:log.chat.working:0
T:log.working:0
T:log.disable:1
S:game.mem_usage_info_save_interval:9999999
F:game.base_ethereal_durability_consumption_on_damage:.30
F:game.base_ethereal_durability_consumption_on_skill_attack:.40
F:game.base_ethereal_durability_consumption_on_normal_attack:.10
F:game.pvp_damage_rate_for_summon:.12
F:game.pvp_damage_rate_for_player:.08
S game.exp_rate:5
S game.item_drop_rate:1
S game.gold_drop_rate:2
S game.chaos_drop_rate:2
T game.apply_stamina_bonus_in_premium_pcb:0
F game.premium_pcbang_bonus_rate:.30
F game.premium_pcbang_chaos_bonus_rate:.30
F game.premium_pcbang_gold_bonus_drop_rate:.30
F game.premium_pcbang_item_bonus_drop_rate:.30
F game.premium_pcbang_chaos_bonus_drop_rate:.30
F game.ally_pcbang_bonus_rate:.30
S game.ally_pcbang_chaos_bonus_rate:.30
T:game.update.version:24
T:game.max_level:180
T:game.PKServer:0
T:game.AdultServer:0
T:game.cash_usable_server:1
S:game.local_flag:4
T:game.min_global_chat_usable_level:10
T:game.use_auto_trap:0
T:game.use_auto_jail:0
T:game.ServiceServer:0
N:console.port:44554
S:console.allow_ip:127.0.0.1
S:console._password:REPLACE.ME.WITH.PYROK.TOOL.GENERATED.PASSWORD
S:io.upload.ip:127.0.0.1
S:io.upload.port:4616
S:game.guild_icon_base_url:http://127.0.0.1/guild/
S:game.url_list:guild.url|http://127.0.0.1/login.aspx|guild_test_download.url|guild/|web_download|5.196.124.242|web_download_port|0|shop.url|http://shop.rappelz.co|ghelp_url|http://help.gamepower7.com/help/help-page/help-page.html|guild_icon_upload.ip|5.196.124.242|guild_icon_upload.port|4617
S:game.server_screenshot_url:http://rappelz.co/launcher/server.html
S:game.helpdesk_url:http://help.gamepower7.com/help/help-page/help-page.html
S:game.newbiehelp_asura_url:http://help.gamepower7.com/help/info_asura.html
S:game.newbiehelp_deva_url:http://help.gamepower7.com/help/info_deva.html
S:game.newbiehelp_gaia_url:http://help.gamepower7.com/help/info_gaia.html
S:game.local_setting_list:log.ip|log.chat.ip|io.auth.ip|io.ip_address|db.c.server|db.user.server|N game.periodical_npc_adjustment
T:game.disable_trade:0
T:game.disable_booth:0
S:game.enhance_fail_type:2
T:game.monster_pathfinding:1
T:game.monster_wandering:1
T:game.no_collision_check:0
T:game.no_skill_cooltime:0
N:game.item_hold_time:2500
T:db.user.thread:4
- IMPORTANT! Setting S:game.local_flag:4 must be set to your proper locale refer to the spoiler below
- locale_codes:
Code:
--LOCAL_INFO_KOREA = 1
--LOCAL_INFO_HONGKONG = 2
--LOCAL_INFO_AMERICA = 4
--LOCAL_INFO_GERMANY = 8
--LOCAL_INFO_JAPAN = 16
--LOCAL_INFO_TAIWAN = 32
--LOCAL_INFO_CHINA = 64
--LOCAL_INFO_FRANCE = 128
--LOCAL_INFO_RUSSIA = 256
--LOCAL_INFO_MALAYSIA = 512
--LOCAL_INFO_SINGAPORE = 1024
--LOCAL_INFO_VIETNAM = 2048
--LOCAL_INFO_THAILAND = 4096
--LOCAL_INFO_MIDDLE_EAST = 8192
--LOCAL_INFO_TURKEY = 16384
--LOCAL_INFO_POLAND = 32768
--LOCAL_INFO_ITALY = 65536
- All instances of local_flag in the arcadia database will need to be set to your locale code or 0 to show in-game when launched in your specific local. For instance, ASCII/US will need S:game.local_flag:4 and any NPC/FieldProp/Dungeon I wanted to be available to me would need to have a local_flag of 0 or 4
- Where in most cases local_flag 4 OR 0 is applicable it seems in NPCResource it must be 0 not 4 [CONFIRMED]
- Edit the gameserver.opt as you needed and save, now compress it by dragging it ontop of the Rappelz Compressor which should be in the same folder
- For database details refer to the file you created earlier with the login information
If you have followed the above guide correctly you should now have a fully working server for you and/or your friends, so just enter the Auth_Bin folder and launcher the RappelzAuthServer executable. Back out of the Auth_Bin folder and enter the Game_bin folder and launch CaptainHerlockServer.exe.
You
DO NOT have to type 'start_service' or 'set game.open_external'
The rest is pretty simple:
Final Steps
- Bring the 9.1 Package back into focus and enter the 'Launcher' folder
- Extract 'RappelzCmdLauncher.exe' into your 9.1 clients root folder
- Create a new file in notepad++ and copy the following code into it:
- Replace it's contents with the following:
- Code:
Code:
RappelzCmdLauncher.exe sframe.exe /auth_ip:127.0.0.1 /auth_port:58422 /use_nprotect:0 /help_url_w:611 /help_url_h:625 /locale:ASCII /country:US /cash /commercial_shop /layout_dir:6 /layout_auto:0 /cash_url_w:800 /cash_url_h:631
<DO NOT COPY BELOW THIS LINE>
# Locales: ASCII = US / windows-1256 MOST EU Regions
# Country: US/EU/DE/KR etc..
# REMEMBER! With ASCII/US Locale and Country you must use S:game.local_flag_:4 and db local_flag = 4 or 0
# auth_port: Must match the port in your auth.opt file
- Save the file as 'Start.Bat' with File Type: 'All' into your 9.1 client directory
- Open/Bring SSMS back into focus
- Double click your Auth table to expand it
- Visit

- Create the password for your Admin Account
- Example:
- The MD5 hash [result of md5_key+plain-text-password] goes in the 'password' field of the dbo.Accounts table in the Auth Database
- Create the account entry in dbo.Accounts and login!
I wish you the best on getting your server setup and I'm going to be honest -- I may not have the time to answer any and every question that comes through this thread, so don't be offended if I miss your question. I hope other dev's in the community will help to answer your questions, this is just a tool to aid them!
If you have any suggestions to this guide feel free to post them (within reason)
GOOD LUCK!