Install RF Online Private Server on Windows Server

Install RF Online Private Server on Windows Server

After installing Windows Server by using this method (Quick Install Windows Server with Windows Template), it's time to install heavy windows application such as a game server. 😁

Introduction

If you don't know RF Online before, it's an old 3D MMORPG game developed in 2004 (https://en.wikipedia.org/wiki/RF_Online), and soon as the server files got leaked, everyone can install their private server and become a gamemaster.

Gallery from my gameplay on RF Remastered in 2020
Gallery from my gameplay on RF Remastered in 2020

I used to be just a regular game player in junior high school till college, but since I understand how linux and windows server work, and I have a super-cheap-and-reliable-server from HostHatch.  I'd love to deploy this on my server. 🤩

Specification

Minimum Server Hardware & Software Requirement My Server (HostHatch Sydney, AU) - IP : 103.123.123.123
CPU : 2 core high clock speed (3.0ghz+) CPU : 3 core (100% dedicated, burstable up to 300%)
RAM : 8 GB RAM : 16 GB
OS : Windows Server 2012 R2/2016 or Windows 8 or Windows 10 OS : Windows Server 2016
Database : Microsoft SQL Server 2008
WinRAR/WinZIP/7z and Notepad

Installation

Getting Started

To be technical, the game files are based on RF Online 2.2.3.2. The files have been improved and optimized by RF-DEV team.

RF-Dev 2.2.3.2 Server

Download : https://mega.nz/file/3ZsEVZoJ#mr7uMjmznjudQhETJICePaUsBFrbNxhDAwBNfxRVLSc

Size: 242391498 bytes (231 MB)
SHA-1: A15099A44D0EFFF267EFF502BBC13EA163B194D2

RF-Dev  2.2.3.2 Client

Download : https://mega.nz/file/fdlUEL7A#RV6WnitsU639QqJx6Lq0p7LQOnh4rcNL-OQd7_e1-9k

Size: 1224451822 bytes (1.13 GB)
SHA-1:  C14311154FD18B92A71087DD773FE319D1B6FB55

Extract rfdev-2232-server.7z to your server meanwhile rfdev-2232-client .7z on your local PC / Laptop.

Install Dependencies

This application will install dependencies required by RF on your machine.

Run C:\rf\server\install\RF Dependencies.exe

Extracted from rfdev-2232-server.7z

Click Install.

Wait for installation to complete, then click Close.

RF Dependencies Installation

SQL Server Requirements

We need to install a special ODBC driver for RF to work on modern operating systems.

Run the following installers based on your operating system:
C:\rf\server\install\msodbcsql_17.msi

You now have all requirements installed. Proceed to Install Microsoft SQL Server (MSSQL).

Install Microsoft SQL Server (MSSQL)

This guide assumes you are installing SQL Server on a fresh operating system. The installation steps will be the same with all 2008 versions. Newer versions of SQL Server will have additional options but the general steps will be the same.

Visit Microsoft's website to Download Microsoft SQL Server 2008 R2 SP2.

Microsoft SQL Server 2008 R2 SP2

Select SQLEXPRWT_x64_ENU.exe, then click Next. The download will start immediately.

Run SQLEXPRWT_x64_ENU.exe from your Downloads folder to extract and run the installer. The installer will run automatically after extraction. Proceed to the next section.

MSSQL Installation Wizard

Click Installation on the sidebar.

SQL Server Installation Center

Select the option for New Installation

New Installation or add features on SQL Server 2008 R2

Click OK after the tests are completed.

Ignore the Product Key information and just click Next.

Check the box for accepting the License Terms, then click Next

Click Install to install the setup files.

Install Setup Support Files 

Click Next

Setup Support Roles click Next

Select SQL Server Feature Installation, then click Next.

Make sure All Features are selected, then click Next.

All Features are selected, then click Next.

Allow Installation Rules to process, then click Next.

Select Default Instance, then click Next.

Don't skip this step. Not setting SQL Server to use the default instance will result in the Server not finding the Databases.

MSSQLSERVER Default Instance

Verify disk checks pass, then click Next

Disk Space Requirements

Select NT AUTHORITY\SYSTEM for the Account Name on SQL Server Database Engine, then click Next

Select NT AUTHORITY\SYSTEM

Under Authentication Mode, select Mixed Mode and enter a secure default password. After, click Add Current User and allow the installer a few moments to load

Add Current User and enter the password

Verify your user is added, then click Next.

Verify your user is added on Add Current User section

Click Next to skip through the Error Reporting information

Click Next through the Installation Rules

Review the summary as needed, then click Install

Ready to install SQL Server 2008 R2

Allow some time for the installer to run. This usually takes around five to ten minutes.

Click Close once completed and Close the Setup Wizard.

Windows 7 Additional Configuration

If you are on Windows 7, some additional configuration is required. TCP/IP in SQL Server is not enabled by default on Windows 7 like it is on Windows 10 and most Windows Server editions. Not enabling TCP/IP causes a zone server connection bug when you try to log in to the game.

Fix this issue as follows:

Search for and open SQL Server Configuration Manager

Locate SQL Server Network Configuration -> Protocols for MSSQL Server, right-click TCP/IP, then select Properties

Protocols for MSSQLServer

Click on the IP Addresses tab.

Verify localhost port 1433 is active

Verify your settings, then click OK. You will see a warning dialog box advising a restart. Click OK again.

Restart MSSQLSERVER process. Allow a moment for MSSQL to restart.

Now, let’s confirm we can connect to MSSQL.
Find and run SQL Server Management Studio. Connect to localhost with Windows Authentication

SQL Server Login with Windows Authentication

You should now be connected to MSSQL through Server Management Studio.

Install Game Databases

Ensure you have MSSQL installed before proceeding.

Check on install folder, and install msodbcsql_17.msi to use ODBC Driver 17 for all Windows Server and Windows 8 up, except if you are on Windows 7 be sure to install msodbcsql_13.msi to use ODBC Driver 13 instead.

Create Databases

We are now going to create new databases to store our game data. Open Microsoft SQL Server Management Studio, and login.

Right-click the Databases folder, then click New Database

New Database on Microsoft SQL Server Management Studio

Enter RF_User into the Database name field, then click OK

Create a Database with name RF_User

Expand the Databases folder, and you should now see the RF_User database.

Repeat steps to create the following additional databases: RF_World and BILLING

Restore Databases

Next, we are restoring the clean RF database content into our new databases.

Right-click RF_User, then navigate to Tasks Restore Database

Restore Database on Microsoft SQL Server Management Studio

Select From device, then select the browse (…) button

Select From device on Restore Database popup

Click Add on the new dialog

Click Add on Specify Backup Dialog

Browse to the databases folder, then select RF_User.bak and click OK

RF_User.bak to restoring a database RF_User

Click OK again, and Check the box under Restore, then click Options

Check the box under Restore, then click Options.

Check the box for Overwrite the existing database (WITH REPLACE), then click OK.

Check the box for Overwrite the existing database (WITH REPLACE), then click OK.

Click OK on the success message.

The restore of database RF_User was completed successfully.

Expand RF_User →Databases and observe the tables. Your database now has content from the clean backup

RF_User database completely restored

Repeat steps  to restore the following additional databases:

  1. RF_World
  2. BILLING

Configure ODBC

Finalize your database connectivity by configuring your ODBC settings. ODBC allows applications to connect to your Microsoft SQL server through various connection drivers.

Open ODBC Data Sources (32-bit)

Open ODBC Data Sources 32 bit

Click Add to add a new ODBC connection.

Add new User Data Sources on ODBC

Select ODBC Driver 17 for SQL Server for the driver. If you are using Windows 7 select ODBC Driver 13 for SQL Server. Then click Finish.

Choose ODBC Driver 17 for SQL Server

Enter RF_User for the Name, localhost for the Server, then click Next.

Enter RF_User on Name and localhost on Server

Leave Windows NT Authentication selected, then click Next.

Select to use a Default database with the connection, select the RF_User database, then click Next

Choose RF_User as default database

Click Finish.

Click Finish

Test the new datasource. You should see a success message.

Test Data Source
Tests Completed Successfully

You will now see the RF_User datasource listed.

Repeat steps to add the following extra data sources in addition to RF_User:

  1. RF_World
  2. BILLING

Account Creation

Creating game accounts requires running queries against your user database. Queries allow you to insert, modify, and delete game data in the database. Here is how to work with them.

WARNING: Always use caution when running database queries. Queries make immediate changes to your databases and are not always easily reversible.

Right-click the desired database, then click New Query

New Query on RF_User database

Modify your query using the text editor, then click Execute

Insert Query on RF_User database

You will see a successful response if your query was successful.

Creating Accounts:: Player

Create a player account named user1 with a password of user1.

--RF_User
--Version: RF-Dev Game Files

INSERT INTO dbo.tbl_RFTestAccount
(id, password, BCodeTU)
VALUES
(CONVERT(binary, 'test1'), CONVERT(binary, 'test1'), 0);

Creating Accounts:: GameMaster

Create a GM account named !test1 with a password of test1 using the following query. Additional steps are required after the query and before you can log in.

If your GM account name is not on the Login_Filter_Dev.ini you won't be able to use all the GM commands! Check below how to do this.

--RF_User
--Version: RF-Dev Game Files
DECLARE @RC int
DECLARE @id varchar(13)
DECLARE @pw varchar(13)
DECLARE @depart varchar(32)
DECLARE @class varchar(12)
DECLARE @name varchar(12)
DECLARE @birthday varchar(10)
DECLARE @grade int
DECLARE @subgrade int
SELECT @id = '!test1'
SELECT @pw = 'test1'
SELECT @depart = 'none'
SELECT @class = 'GM'
SELECT @name = 'name'
SELECT @birthday = 'None'
SELECT @grade = 2
SELECT @subgrade = 2
EXEC @RC = [rf_user].[dbo].[pInsert_Staff] @id, @pw, @depart, @class, @name, @birthday, @grade, @subgrade
DECLARE @PrnLine nvarchar(4000)
PRINT 'Stored Procedure: rf_user.dbo.pInsert_Staff'
SELECT @PrnLine = ' Return Code = ' + CONVERT(nvarchar, @RC)


Once the query is run, edit table tbl_StaffAccount on RF_User database

Edit tbl_StaffAccount on RF_User

on ExpireDT column, edit your GM account expired date to as long as possible for example mine to 2029-05-22 18:49:54.593. This method will prevent your GameMaster ID from expired, and you can always log in.

Click "!" (Execute SQL) to save/run the query.

Edit C:\rf\server\account-login\RF_Bin\Initialize\Login_Filter_Dev.ini

Replace the contents with the files below, adding as many filters as needed. The first filter must start with zero. This example assumes your username is !test1 and that you will be connecting from your local computer IP public Address.

[IPAddress]
FilterNum = 0
Filter0 = 140.213.210.23
FilterRange0 = 255

[ID]
FilterNum = 1
Filter0 = !test1

Install Server

This guide will walk you through preparing the RF Online game server.

WARNING: This guide is for general development server configuration. This guide does not cover setting up a game server for a production purpose, and we do not recommend following this guide for that purpose.

Verify your files are extracted to C:\rf\server open directory \account-login\RF_Bin\Initialize and edit file AccountSystem.ini

Ensure file AccountSystem.ini like this :

Replace Address0 with your IP Public Address

and edit \zoneserver\WorldInfo\WorldInfo.ini, replace GateIP with IPv4 public of your server.

[System]
WorldName = RF_SERVER

GateIP = 103.123.123.123

You are now ready to start your game servers. This is easily accomplished by the RFManager.exe application. Click the Start button to Login Server, Account Server, and Zone Server.

Click Start on Login Server, Account Server, and Zone Server
[25/05/2022 19:03:59] Started: LoginServerSD (1072)
[25/05/2022 19:04:03] Started: AccountServerSD (4868)
[25/05/2022 19:04:06] Started: ZoneServerUD_x64 (3416)

Firewall Server

In this section, you need to open some ports on your Windows Firewall to ensure local PC (RF client) can connect to your server.

Open Windows Firewall with Advanced Security program, and click "Inbound Rules" and then click New Rules action.

New Rule on Windows Firewall with Advanced Security program

a New Inbound Rule Wizard opened, and then choose Port to open some port in your Windows server

Choose Port and click Next to open some ports in Windows Firewall

In protocol and Ports section, apply the TCP rule and specific local ports :

1433, 27780, 10001

Apply TCP and on Specific local ports 1433 27780 and 10001 click Next

In Action section, choose to Allow the connection to ensure that specific local ports are opened in your Windows Server Firewall, click Next.

Check Domain, Private and Public to this rule, click Next and then pick a name for this example : rfdb

Make sure the new rule rfdb are enabled on your firewall.

Make sure new rule is enabled

Install Client

At this stage, your server is now running and you have game accounts created. It's time to log in!

Extract the client files rfdev-2232-client.7z to your local computer, open the folder (rfdev-2232-client), and edit RFLauncher.ini

[Server]
IP=103.123.123.123
Port=10001

Replace IP with IPv4 public of your server.

And you can now login to your server with your client, open RFLauncher.exe application, login with !test1 for gamemaster ID and click Launch to open the game.

RFLauncher.exe with gamemaster ID

Success !! 🤩😎

Source :

Bonus clip from my gameplay as a character with nickname map Accretian on RF Online Remastered in 2020. Thank you for reading !