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!

[Guide] Setup Emulator Launcher [All Version]

Joined
Nov 1, 2009
Messages
842
Reaction score
276
So many people got an error for Setup Emulator, bcause...
- Never Understand and never learn how to setup Webserver Config
- Only begging to other members


now, ill explain about emulator for Launcher RF Online
for global setup, we use 3 Port for that

Port 80 for Launcher Update
Port 8080 for update Login Server IP
Port 10007 for update Patchinfo.z for Auto Update


here we Go for Setup Webserver for Emulator.

1. Download Appserv or anything else you know.
( In this case, ill use Appserv 2.5.9 )



2. After Download Install Appserv on your machine.
- Up to you, you want to install in Drive C or D or E or whatever
( here, i install in Drive C )
- untick Mysql Database. no need that..!!!
- ServerName with ip or Localhost ( Be better is localhost )
- port 80


3. After Install
- Open C:AppServApache2.2conf
- Open File httpd.conf with Notepad ( Be better use Notepad++, i use that )

Now we need to setup DocumentRoot, ServerRooot and ServerName
- Find Text ServerName or go to Line 233. and change it with this :
Code:
ServerName localhost
- and Above you will see the DocumentRoot, and leave it. dont edit if you not understand
- Find Listen 80 or go to line 67. Delete that text ( Listen 80 )
- SAVE IT and DONT CLOSE ( continue for Step 4 )



4. Now We Need to make a vhost or Virtual Host. we need 3 Port for vhost launcher emulator
- Find text again in httpd.conf = Find httpd-vhosts.conf
- Delete the #, and will like this
Code:
# Virtual hosts
Include conf/extra/httpd-vhosts.conf
- SAVE AND CLOSE

this is the file config for setup virtualhost



5. Open Folder Extra and open httpd-vhosts.conf with notepad++
- Delete all Text theres
- and now we need to Listening Port and make an Virtualhost Directory
- write like this.
Code:
Listen 80
Listen 8080
Listen 10007
NameVirtualHost *:80
NameVirtualHost *:8080
NameVirtualHost *:10007
####################################################################################
<VirtualHost *:80 *:8080 *:10007>

    ServerAdmin hidden
    ServerName hidden

    DocumentRoot "C:/AppServ/www/emulator/"
    CustomLog logs/rfpatch.log combined
    ErrorLog logs/rfpatch_err.log

    <Directory "C:/AppServ/www/emulator/">

	Options -Indexes MultiViews FollowSymLinks IncludesNoExec
	AllowOverride None
	AddOutputFilter Includes html
	Order allow,deny
	Allow from all

	AddType application/zip .tmp
	AddType application/zip .cab
	AddType application/zip .z


	<Files update.dll>
	   AddType application/x-httpd-php .dll
	</Files>


    </Directory>

</VirtualHost>
####################################################################################

- SAVE IT AND CLOSE


Setup Webserver for Vhost emulator now DONE. and now, we need to create some directory for put the file for make this launcher work.
you can see the virtualhost directory in extra config. it mean
Code:
DocumentRoot "C:/AppServ/www/emulator/"
and now you need to go to folder C:/AppServ/www, and make new folder with the name is "emulator"



7. now Go inside Emulator Folder, Create new Document with extention .dll. not .txt
and Rename to update.dll
and open it with notepad++, write this text there.
Code:
<pre>
<?php

/////////////////////////////////////////////////////////////////////////////////////
//
//  Update.dll For RF Online Emulator
//
//  novanakal@RageZone
//
/////////////////////////////////////////////////////////////////////////////////////
$PatchInfo_ver = 10;
$LPServerInfo_ver = 10;
$main_launcher_ver  = 10;

$main_launcher_file_path = 'Launcher';
$LPServerInfo_file_path = 'Config';
$PatchInfo_path = 'Update';

$use_archive_three = true;
$main_launcher_host   = '127.0.0.1';
$LPServerInfo_host[0] = '127.0.0.1';
$PatchInfo_host[0]    = '127.0.0.1';

function terminate_script() {

	header('Connection: close');
	header('Content-Length: 0');

	exit;

}


	if (!isset($_SERVER['HTTP_USER_AGENT'])) {

//		terminate_script();

	} elseif (!$_SERVER['HTTP_USER_AGENT']=='HTTP') {

//		terminate_script();

	} else {	

//		terminate_script();

	}



	if (!isset($_SERVER['QUERY_STRING'])) {

//		terminate_script();

	}


	$query_ver=$_SERVER['QUERY_STRING'];


	if (!is_numeric($_SERVER['QUERY_STRING'])) {

//		terminate_script();

	}


	$user_launcher_ver = intval($_SERVER['QUERY_STRING']);


	if ($user_launcher_ver < $main_launcher_ver && $user_launcher_ver > 0) {


		$streamtxt  = "[Update]\n";
		$streamtxt .= "NewVersion=$main_launcher_ver\n";
		$streamtxt .= "UpdateFileNumber=1\n";

		if ($use_archive_three) {

		    $streamtxt .= "UpdateFile1=$main_launcher_file_path$main_launcher_ver/newRF.cab\n";

		  } else {

		    $streamtxt .= "UpdateFile1=$main_launcher_file_path/newRF.cab\n";

		}

		$streamtxt .= "ServerNumber=1\n";
		$streamtxt .= "Server1=http://$main_launcher_host/\n";
		$streamtxt .= "[Launcher]\n";
		$streamtxt .= "LauncherVersion=$main_launcher_ver";

		echo $streamtxt;
		exit;


	} elseif ($user_launcher_ver >= $main_launcher_ver) {

		$streamtxt  = "[Update]\n";
		$streamtxt .= "UpdateFileNumber=0";

		echo $streamtxt;
		exit;

	} elseif ($user_launcher_ver == 0) {

		if ($_SERVER['SERVER_PORT']==8080) {


		    $streamtxt  = "[Update]\n";
		    $streamtxt .= "NewVersion=$LPServerInfo_ver\n";
		    $streamtxt .= "UpdateFileNumber=1\n";

		    if ($use_archive_three) {

			$streamtxt .= "UpdateFile1=$LPServerInfo_file_path$LPServerInfo_ver/LPServerInfo.dat\n";

		      } else {

			$streamtxt .= "UpdateFile1=$LPServerInfo_file_path/LPServerInfo.dat\n";

		    }

		    $streamtxt .= "ServerNumber=".sizeof($LPServerInfo_host);

			for ($i=0; $i<sizeof($LPServerInfo_host); $i++) {

			     $streamtxt .= "\nServer".($i+1)."=http://".$LPServerInfo_host[$i]."/";

			}

		    echo $streamtxt;
		    exit;

		} elseif ($_SERVER['SERVER_PORT']==10007) {


		    $streamtxt  = "[Update]\n";
		    $streamtxt .= "NewVersion=$PatchInfo_ver\n";
		    $streamtxt .= "UpdateFileNumber=1\n";

		    if ($use_archive_three) {

		        $streamtxt .= "UpdateFile1=$PatchInfo_path$PatchInfo_ver/PatchInfo.z\n";

		      } else {

		        $streamtxt .= "UpdateFile1=$PatchInfo_path/PatchInfo.z\n";

		    }

		    $streamtxt .= "ServerNumber=".sizeof($PatchInfo_host);

			for ($i=0; $i<sizeof($LPServerInfo_host); $i++) {

			     $streamtxt .= "\nServer".($i+1)."=http://".$PatchInfo_host[$i]."/";

			}

		    echo $streamtxt;
		    exit;

		} else {

		   terminate_script();
		}
	}
?>
</pre>

- SAVE But dont CLOSE...!!!!


and now, i want to explain about this file ( update.dll )
see here
Code:
$PatchInfo_ver = 10;
$LPServerInfo_ver = 10;
$main_launcher_ver  = 10;

$main_launcher_file_path = 'Launcher';
$LPServerInfo_file_path = 'Config';
$PatchInfo_path = 'Update';

$use_archive_three = true;
$main_launcher_host   = '127.0.0.1';
$LPServerInfo_host[0] = '127.0.0.1';
$PatchInfo_host[0]    = '127.0.0.1';

it mean
$main_launcher_file_path = 'Launcher'; <-- Need to create new Folder with Name "Launcher"
$LPServerInfo_file_path = 'Config'; <-- Need to create new Folder with Name "Config"
$PatchInfo_path = 'Update'; <-- Need to create new Folder with Name "Update"

and this
$main_launcher_ver = 10; <-- Need to rename "Launcher" Folder with Name "Launcher10"
$LPServerInfo_ver = 10; <-- Need to rename "Config" Folder with Name "Config10"
$PatchInfo_ver = 10; <-- Need to rename "Update" Folder with Name "Update10"

for 127.0.0.1 Replace with your IP, ( local or Public )

now we have done for this one. Next Step


8. Make Sure your have 3 Folder in "C:/AppServ/www/emulator/"

a. Config10
b. Update10
c. Launcher10

and then, First
- Open Folder Config10
- Make New File with Name "LPServerInfo.dat" ( use .dat extention )
- Open LPServerInfo.dat with notepad++, and write like this
replace 127.0.0.1 with your IP
Code:
[LoginServer]
ServerNumber = 1
Server0 = 127.0.0.1

[PatchServer]
ServerNumber = 1
Server0 = 127.0.0.1

[Notice]
Server = 127.0.0.1

- SAVE and CLOSE

- Open Folder Update10
- Download This Text
Download Here
- Zip text file with Password ( Remember, ZIP not Rar or 7Zip )

novanakal - [Guide] Setup Emulator Launcher [All Version] - RaGEZONE Forums


Code:
dhelsaktmxj
- Rename the Extention with .z not .zip or .rar or .7z

- now Open Folder Launcher10
Download This Launcher from Here, and Use this STRS for edit the Launcher IP
http://forum.ragezone.com/f480/guide-2-server-1-machine-948909-post7737880/#post7737880

If you have done with the launcher. Make a Copy Launcher with name RF with .lc Extention. Put RF.lc in Launcher10 Folder


9. now is Last Step.
- Make new File with .bat Extention
Example Run.bat, and Open with Notepad++ with this text
Code:
makecab.exe RF.lc newRF.cab
- SAVE it and Close
- Make Sure your folder Launcher10 with 2 files there
a. RF.lc
b. Run.bat
Double Click "Run.bat". and will shown the CMD window,.
and will automatic creating new File with name newRF.cab


and now RUN your appserv with Apache Monitor.exe from Start Menu -> AppServ -> Control Server By Services.
see the right bottom appserv is appeared. Right Click And Start.

Now, Run Your Launcher from your Client installer...


This for Video TUtorial





TUTORIAL is DONE
I think mod need to sticky this post. :D


Greeting - novanakal -
 

Attachments

You must be registered for see attachments list
Last edited:
Joined
Apr 9, 2012
Messages
2,359
Reaction score
442
i've learn how the emulator work before,
but with your tutorial, it should prevent people from opening 127.0.0.1
since 127.0.0.1 web browser using port 80,
and in virtualhost, root dir is redirect to C:/AppServ/www/emulator/
which mean everyone who access 127.0.0.1 will be redirected to C:/AppServ/www/emulator/ instead C:/AppServ/www/
and that root dir is view protected :/:
and people can't open open their webpage, except they change the web port?
CMIIW
and i have one more question,
is it necessary to protect C:/AppServ/www/emulator/ dir?
is it dangerous to let people see what is C:/AppServ/www/emulator/ folder contain from web pages? o_O


sticky granted (y)
 
Joined
Nov 1, 2009
Messages
842
Reaction score
276
this tutorial only for Emulator for Launcher, Not for Website.
so dont talk about the security for website.
be better using Shared Host or VPS for Website Server..


for basiclly,
why i changed ServerName with local not with IP

if you set with IP, Phpmyadmin will open when you try to browse with browser from that IP

so Phpmyadmin now only open with typing "localhost" in your machine.

FInd DocumentRoot in httpd.conf

Code:
DocumentRoot "C:/AppServ/www"

it mean when you open browse with type localhost, will direct to "C:/AppServ/www", but cant open from outside
only in your machine.

but when you browse with IP will direct to C:/AppServ/www/emulator/


and for port 80 8080 10007, will direct to C:/AppServ/www/emulator/, if no have files...
browser will show like 403 Forbidden
Code:
Forbidden

You don't have permission to access / on this server.


everyone can open 127.0.0.1 if you have Public IP.
it will open their own machine.

you can test it with your machine.
setup your IP with your LAN IP
let leave ServerName with Localhost

and for Vhost, you can make it with different location or directory. like drive D or E

example
"D:/Emulator/"

so make new folder Emulator in drive D
 
Last edited:
Joined
Apr 9, 2012
Messages
2,359
Reaction score
442
it is important to change ServerName to localhost?
i usually used random name sometimes "wong gendeng" or such.hahahahaha
hmmm, so web should be better using seperate server :/:

btw, is it dangerous to let people have access on update.dll/open emulator folder from web?
because this emulator : http://forum.ragezone.com/f479/re-upload-appserv-emu-2-a-1016774/
allowed people to access the update folder as indexed folder, that is what i'm asking.

nice share nova :D:
 
Joined
Nov 1, 2009
Messages
842
Reaction score
276
all emulator for download update.dll must allowed.

Official use it too, you will find it from lyto emulator

Code:
http://launcher.rf-online.web.id/update.dll?0
http://launcher.rf-online.web.id:8080/update.dll?0
http://launcher.rf-online.web.id:10007/update.dll?0

and its ok


example open
Code:
http://launcher.rf-online.web.id:8080/update.dll?0

youll see like this,

Code:
[Update]
NewVersion=1
UpdateFileNumber=1
UpdateFile1=update1/LPServerInfo.dat
ServerNumber=1
Server1=http://202.93.20.201/

and that mean is
LPServerInfo.dat will download from
Code:
http://202.93.20.201:8080/update1/LPServerInfo.dat
 
Joined
Apr 9, 2012
Messages
2,359
Reaction score
442
all emulator for download update.dll must allowed.

Official use it too, you will find it from lyto emulator

Code:
http://launcher.rf-online.web.id/update.dll?0
http://launcher.rf-online.web.id:8080/update.dll?0
http://launcher.rf-online.web.id:10007/update.dll?0

and its ok


example open
Code:
http://launcher.rf-online.web.id:8080/update.dll?0

youll see like this,

Code:
[Update]
NewVersion=1
UpdateFileNumber=1
UpdateFile1=update1/LPServerInfo.dat
ServerNumber=1
Server1=http://202.93.20.201/

and that mean is
LPServerInfo.dat will download from
Code:
http://202.93.20.201:8080/update1/LPServerInfo.dat
basically, it's okay to let people have access to the emulator folder? ._.

aku kira lyto begitu karna mereka bego.lol
translate : i thought lyto let their emulator accessable because their carelessness.lol
 
Joined
Apr 9, 2012
Messages
2,359
Reaction score
442
no, not like that...

see the vhost config..
we have setup with allowed file, but not for directory.
and we have doing the same like lyto :D
yes yes, i know in your tutorial is not allowed for directories, but that emulator above from yuan is allowing directories access for emulator folder,
does it will give problem?
or it's no problem to let people have access on the directories? o_O
 
Newbie Spellweaver
Joined
Nov 12, 2014
Messages
14
Reaction score
0
The problems that I experienced Waiting for server response, whether the cause of Louncher.exe or webserver well, I already repeat this tutorial and successfully, but still waiting for the server message respone

1111 - [Guide] Setup Emulator Launcher [All Version] - RaGEZONE Forums
 

Attachments

You must be registered for see attachments list
Joined
Apr 9, 2012
Messages
2,359
Reaction score
442
The problems that I experienced Waiting for server response, whether the cause of Louncher.exe or webserver well, I already repeat this tutorial and successfully, but still waiting for the server message respone

View attachment 148859
it has nothing to do with the emulator, emulator used to open launcher, as long as launcher opened, emulator's role is done.
 
Newbie Spellweaver
Joined
Nov 12, 2014
Messages
14
Reaction score
0
I just simply follow the step by step, and the result was successful, thanks Novanakal,
 
Joined
Apr 22, 2013
Messages
710
Reaction score
49
Just wanna say THANK YOU! Done this tutorial and my Launcher is now OK.
One question, how can I access my website? Do I need to use other ports?


Anyone wanna share a Registration page?
 
Last edited:
Newbie Spellweaver
Joined
Apr 18, 2012
Messages
25
Reaction score
0
HELP!!!!!!!!!!!!!!!!!!!


[Thu Nov 20 17:11:57 2014] [error] [client 127.0.0.1] Directory index forbidden by Options directive: C:/AppServ/www/emulator/
 
Last edited:
Newbie Spellweaver
Joined
Dec 22, 2013
Messages
9
Reaction score
0
< Working Well
< Working Well
< Working Well

But

novanakal - [Guide] Setup Emulator Launcher [All Version] - RaGEZONE Forums
 
Last edited:
Newbie Spellweaver
Joined
Jul 29, 2010
Messages
8
Reaction score
0
Hello, I did everything like this tutorial, but every time I start the launcher it appears simply connecting to launcher and disappears. Already checked the ips, doors and do not really know what is happening.
 
Joined
Apr 9, 2012
Messages
2,359
Reaction score
442
Hello, I did everything like this tutorial, but every time I start the launcher it appears simply connecting to launcher and disappears. Already checked the ips, doors and do not really know what is happening.

you are not reading/following the tutorials correctly, watch the video/resatart your appserv if you forget to restart it, after editing httpd.conf and httpd-vhosts.conf appserv restart is necessary
 
Back
Top