+ All Categories
Home > Documents > RF 2.2.3.2 Server Setup Guide

RF 2.2.3.2 Server Setup Guide

Date post: 30-Dec-2015
Category:
Upload: harid-luthfi-pratama
View: 2,170 times
Download: 23 times
Share this document with a friend
Popular Tags:
19
1 RF 2.2.3.2 local server setup guide Introduction: What follows is a method (determined by internet searching and trial and error) to setup an RF Online 2.2.3.2 server for a local network. What worked for this system may not work for others. This is by no means a definitive guide; there will most likely be better options in setting up the server. There will be security and stability errors that should not be exposed to the internet without testing and correction. If errors are encountered, search appropriate forums and try manually troubleshooting; all trial and error was completed using the tools in the Recommended tools for modifying/debugging: list. Do not pass up the opportunity to broaden knowledge. Feel free to modify this guide, just maintain a list of editors. System: The system was configured to use a VMware Workstation virtual machine to run the RF server, with a PlayRF.com client (modified launcher) running on the host. This way Wireshark could be used to troubleshoot. Host: Windows 7 Ultimate x64 Intel i7 920 12GB RAM 30GB free HDD space Guest OS (running RF server): 2 core processor 5.5GM RAM Windows Server 2008 R2 x64 with updates applied + vmware tools 20GB HDD (this can be reduced if paging is disabled) Network IP:10.53.1.182 Server files: RF Online 2.2.3.2 GU - Xtreme Server Files – FIXED –H4TE Recommended tools for modifying/debugging: Notepad++ Wireshark TCPView A Hex editor with search & replace functionality – Hex Workshop was used A file search utility with binary search functionality – PowerGREP 4 was used AnjLab SQLProfiler The Tracing option in ODBC
Transcript

1

RF 2.2.3.2 local server setup guide

Introduction: What follows is a method (determined by internet searching and trial and error) to setup an RF Online 2.2.3.2 server

for a local network.

What worked for this system may not work for others.

This is by no means a definitive guide; there will most likely be better options in setting up the server. There will be

security and stability errors that should not be exposed to the internet without testing and correction.

If errors are encountered, search appropriate forums and try manually troubleshooting; all trial and error was

completed using the tools in the Recommended tools for modifying/debugging: list. Do not pass up the opportunity

to broaden knowledge.

Feel free to modify this guide, just maintain a list of editors.

System: The system was configured to use a VMware Workstation virtual machine to run the RF server, with a PlayRF.com

client (modified launcher) running on the host. This way Wireshark could be used to troubleshoot.

Host: Windows 7 Ultimate x64

Intel i7 920

12GB RAM

30GB free HDD space

Guest OS (running RF server): 2 core processor

5.5GM RAM

Windows Server 2008 R2 x64 with updates applied + vmware tools

20GB HDD (this can be reduced if paging is disabled)

Network IP:10.53.1.182

Server files: RF Online 2.2.3.2 GU - Xtreme Server Files – FIXED –H4TE

Recommended tools for modifying/debugging: Notepad++

Wireshark

TCPView

A Hex editor with search & replace functionality – Hex Workshop was used

A file search utility with binary search functionality – PowerGREP 4 was used

AnjLab SQLProfiler

The Tracing option in ODBC

2

RF Server installation:

Dependencies: Follow the default install options unless otherwise noted.

dotNet2.0: included in OS

vc2005: x64vc2005sp1

Account & RFDepend packages from RF server package/ RF Dependency/

SQL server: MSSQL 2008 R2 x64 Express W/ Tools

MSSQL 2008 R2 x64 Express with tools installation options

Server Configuration: Service Accounts: SQL Server Browser: Startup Type -> Automatic

Database Engine Configuration: Authentication Mode -> Mixed mode; specify password (SA1password)

3

MSSQL configuration Configure MSSQL2008 R2 Express for network access:

Open SQL Server Configuration Manager

Enable TCP/IP:

SQL Server Network Configuration: Protocols for SQLEXPRESS

Named Pipes -> Enabled

TCP/IP -> Enabled

Restart the MSSQL server:

SQL Server Services: Right click SQL Server (SQLEXPRESS); click restart.

Server file extraction Create the folder for the RF server and extract the server files into it: C:\RF_server_2.2.3.2\

4

MSSQL database setup

Setup the databases:

Open SQL Server Management Studio

Login to 127.0.0.1\SQLEXPRESS with sa:SA1password

Create the databases

Right click Databases, select New Database.

Create 3 new databases named: RF_World, RF_User and BILLING

5

Restore the databases

Right click RF_world; Tasks; Restore; Database

From Device

File; Add (select backup file: RF_WORLD.bak)

6

Check restore

Options; Overwrite the existing database

OK (repeat for RF_User & Billing)

Set up the new users

name:rf SQL server authentication: pass: rfpass. uncheck enforce

7

User mapping: all options excluding denys: for rf: all RF Databases, for rfrusaccount, only database: RF_User, for rfrusworld, only database:

RF_World.

Also create the accounts: rfrusaccount:#rf%rusaccount and rfrusworld:#rf%rusworld

(These are hardcoded into the AccountServer and ZoneServer respectively and they change with

country code; if a different country is used (not RU), use ODBC trace and AnjSql Profiler to determine

the user, then hex search user in AccountServerSD.exe to find user & pass)

Allow the appropriate users execute permissions

New Query: run this SQL (execute)

USE RF_User GRANT EXECUTE TO rfrusaccount, rf USE RF_World GRANT EXECUTE TO rf, rfrusworld USE BILLING GRANT EXECUTE TO rf

8

Create the ODBC connections: Open ODBC Data Source

Add: SQL server native: Finish

Name:RF_User. Server:127.0.0.1\SQLEXPRESS

sql server authentication: rf:rfpass

9

Change default database to: RF_User

Next:Finish:Test. If OK: OK. repeat for RF_World & BILLING, using RF_World and BILLING as the default

database respectively.

ODBC Data Sources:

10

Server configuration modification (see appendix for this servers configuration files) Setup RF ini (Account and Login\RF_Bin\Initialize\[Account|Billing|Login]System.ini,

ZoneServer\WorldInfo\WorldInfo.ini, ZoneServer\RF_Bin\Initialize\WorldSystem.ini, rfacc.ini

change IPs

change database details

change WorldInfo.ini servertype to 0.

Note the HBK & History path: create these directories.

change WorldSystem.ini comment out Ver_Check.... -> ;Ver_Check....

change Login_Filter_Dev.ini for GM accounts

change rfacc.ini (2 files) -> DBSTR = Driver={SQL Server Native Client

10.0};Server=127.0.0.1\SQLEXPRESS;Database=BILLING;Uid=rf;Pwd=rfpass;

(Modify this string according to your database server; see Connection Stings (ODBC) for other options)

11

Testing (All server executable must be run as administrator; it is easiest to set this in compatibility options)

Start the AccountServer and LoginServer enter /open in the login server.

12

Note, (this version of) LoginServer uses port 10001 (use tcpview to confim)

Allow programs through (computer) firewall (LoginServer, ZoneServer) or appropriate ports (through (or turn off (not recommended on a computer connected to

the internet)) Windows firewall)

13

Try to login RF client should produce a "Wrong Account input" error message (there are not yet any accounts on the server) on

attempting to connect.

Add (normal) user test:test to RF_User.rfaccount

INSERT INTO RF_USER.dbo.tbl_rfaccount (Id,Password,accounttype,email,birthdate) VALUES ((CONVERT

(binary(16),'test')),(CONVERT (binary(24),'test')),'1','[email protected]','01/01/1980')

14

Then try to login on client with this account

RF Client should give login, and display the server as closed.

Start the ZoneServer

Add a GM account to ini configuration and MSSQL USE RF_User Insert Into tbl_StaffAccount (ID,PW,Grade,Depart,RealName,SubGrade,Birthday,ComClass) Values

(Convert(binary,'!teste'),convert(binary,'teste'),'2','none','teste','4','01/01/1991','GM')

Add the GM information to Login_Filter_Dev.ini.

Restart the Login and Account server.

Try to login as GM Note:GM ID in RF Client uses !name. Example:!teste

15

Success (check free memory)

16

Modifying launcher If you do not have or can't find a suitable client, you must modify an original client.

Use wireshark to identify which address the client is obtaining updates (only) from (the launcher page content is not

important for now). Investigate how the update process works then build or modify an emulator that provides an

LPServerInfo.dat with the IP for your LoginServer and set up a web server

How to modify the update server (need web emulator)

Investigation

Start capture in wireshark, start the RF Client, wait for it to update, stop wireshark.

RF Client calls update.dll on a remote server.

Apply a filter in wireshark to find these packets: tcp contains update.dll

Find the Host in each packet.

HEX search for these addresses in the client and modify them to your launch server

This client: the hosts are: launcherupdate.playrf.com, launcherconfig.playrf.com and rfonline-

patch.gscdn.com:10007

Find out what port RF Client is calling the LoginServer on using TCPView – try to login to a non-existent account and

watch the RF Client on TCPView.

17

This client uses 27780.

Modification

Search for the launcher and update text values in the client using a hex editor (not rfonline-patch).

Overwrite these with the IP of your update server (make sure not to change the length of the file)

18

Search & Replace (6) instances of the login port with the appropriate login port (10001)

Save the modified launcher under a new name.

Web emulator

This emulator only supplies a new login IP for the RF Client. If you have problems, use wireshark to troubleshoot.

Using AppServer: Install appserver

Modify Apache configuration httpd.conf

Change the listen section so it reads:

Listen 80 Listen 8080 Listen 10007

Create the rf-server.conf (modify the IP, DocumentRoot, Log and directory values to suit) file in the apache conf

directory and add this include at the end of the Apache httpd.cond:

Include conf/rfinfo.conf

Modify the update.dll (2) LPServerInfo.dat and ServerConfig.dat to point to you patch and login servers.

Restart the apache service.

Try to login with your update and port modified client.

19

Extensions To connect PHP with MSSQL, ntwdblib.dll (version 2000.80.194.0) must be placed in the apache and php bin folders,

and the extension loaded in the php.ini configuration.

Web registration: DAFA RF GameCP can be used as a registration script with simple modifications (add a birthday

field and use the correct table)

Thanks: RageZone

2.2.3.2 Initial release by: Alankratos/madhatter

Fixed release by: H4TE

Video guides by baltais99

Anybody who has every answered someone’s query :)

Maindev.ru

RF_223_php_Emulation

Version: 1 – 2011-12-03 – bov.


Recommended