This is part 1, focused on making a private server and such, if you would like, i will post more on customization in other parts.
Overview:
This guide will explain the basics for building your very own rs private server! The topics being covered are: Getting a source, making it yours, setting up everything and making sure it works. this is going to be a very noob (i hate to use that word, but its the only one i could think of) friendly guide. if you have any questions, feel free to aim, email, or msn me. i am not putting in pictures, because i am assuming you are not totaly stupid. trust me, a first timer can do this easy if you read everything carefully. YOU WILL NEED NOTEPAD FOR THIS!!!!
Chapters:
Beginning
Chapter 1: Choosing a Source
Chapter 1 section a: Choosing a source right for you
Chapter 1 section b: Downloading a source
Chapter 1 section c: Explaination of Differences
Chapter 2: Making the Server Yours
Chapter 2 section a: Renaming the server
Chapter 2 section b: Going through other files and renaming
Chapter 3: Getting Everything to Work
Chapter 3 section a: Checking your files
Chapter 3 section b: Fixing Errors
Chapter 3 section c: Finishing up
Beginning
Right now i will explain the advantages and disadvatanges of private servers.
A private server is great for the gamer who wants to level fast and get great items, while communicating with others and not completely cheating. through a private server, you can change everything to your liking, making it your own. You choose the name, source, and everything inside. The only bad part is that, although this can be fun, unless you have a popular server, your alone. I will explain how to advertise in part 4 of the RS2 Private Server Guide
Chapter 1: Choosing a Source
Section A: Choosing a Source Right for You
There are many sources available for RS2 Private Servers, however few of them are that great. The best sources are Pimpscape, Phonescape, and Testscape. As a reult of being the best, they are also the most widely used and have the most tuts written for them. My personal favorite is pimpscape, and i have coded the most servers using that source and know the most about it, however, in this guide, i will cover all of the main sources listed above.
So, if you are still interested, now i will help you choose your source.
If you like pking, and a wide range of functionality and ease of use, i suggest Pimpscape.
If you like pking, a somewhat narrower view of functionality but still ease of use, i suggest Phonescape. by narrower view of functionality, i mean there isnt as much to worry about, but not that much you can do.
If you like normal go abouts, a lot of functionality, and can deal with slightly compromised ease of use, Testscape is for you.
Yes that section was short, but it doesnt need to be long, because those are the criteria of the 3 main sources.
Chapter 1: Choosing a Source
Section B: Downloading a Server Source
There are two main ways of doing this:
1: go to google and type in the name of the source, i.e. Pimpscape, then source.
2: go to Download Section and look around there
i will provide links to the 3 main sources, you can scan the stuff if you want, i didnt do anything to them
Testscape
Phonescape
Pimpscape
most of these files a .rar, so you will need Winrar to extract them
That was simple, wasnt it?
Chapter 1: Choosing a Source
Section C: Explaination of Differences
The main difference is the way the server is coded. for example, when making global objects, pimpscape is coded like this
CODE
makeGlobalObject
while testscape is coded like this CODE
MakeGlobalObject
there are multiple ways of doing this, it just depends on your base. and the caps do make a difference! another difference is wether its a pk server or not, as i said testscape is the non-pk server and phonescape and pimpscape are pk servers. by pk server i mean that you can pk anywhere, i will explain how to change that, but wait until part 5. besides coding and pking, another great difference is the functionality of the server, which, depending on your wants and needs, can affect your server greatly. also, ease of use, or coding/playing, is another difference, this makes a huge difference in how well your server is liked. if your server is easy to understand and you can code it easily, your doing great! now, enough of that and onto making your server!Chapter 2: Making the Server Yours
Section A: Renaming the server
I trust that every1 here knows the find command, if not, it is ctrl + F, when i say find use that command. replace is ctrl + H. alternatively, you can select edit, then the appropriate option.
Ok, first step, open the file client.java (located in the folder where you extracted your source to) and replace the name of your source, i.e. pimpscape, with whatever name you would like for your server. after typing in that information, press replace all.
Next, go to server.java and do the same.
and do the same in npchandler.java.
ok that takes care of that. also, if you have questions, please post. there are other things that need changing, but those will come later on.
Chapter 2: Making the Server Yours
Section B: Going Through Other Files and Renaming Them
Namely, the files client, server, and npchandler.java need to be changed. the change is for permissions regarding usernames. if you want, make your name admin on the server, and you wont have to worry, otherwise, keep reading.
Go through all the above mentioned files and search for admin, do the find command, not replace. if the word "admin" is in the context
CODE
&& playerName.equalsIgnoreCase("admin"))
then replace "admin" with your desired username (leave in the quotes).Do this in all of the above mentioned files, and you should be fine, again, if you have questions, please post, i always like refining stuff.
Chapter 3: Getting Everything to Work
Section B: Checking Your Files
this is simple. open up your compiler*, located in your server file, and run it.
*2 common things that happen are that
a. you dont have the correct java version
b. the compiler isnt set up right
to fix those problems, download the newest version at www.java.sun.com. if the compiler says something like javac isnt recognized as...(w/e it says) replace it with this:
CODE
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: ::
:: All of the following code is © Copywrited 2006-2007, ::
:: Grene Penguin Entertainment. ::
:: ::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::
@echo off
if exist "C:\Program Files (x86)\Java\" set programfiles=C:\Program Files (x86)
set pr=%programfiles%\Java\
:co1
set b=0
set t=7
goto co2
:co2
color %b%%t%
:menu
cls
title The Perfect Compiler version 1.9
echo Welcome to shorty5855scape's Compiler
echo Please choose an option below to do that function.
echo Keep posted on the Moparscape Tutorials section for
echo any updates that I post.
echo.
echo c - Compile your server.
echo r - To Run your server.
echo e - To exit out of the program.
echo jar - It will create your server into an executable Jar archive.
echo color - Change the Text and Backround colors of this compiler.
echo reset - Resets your Compiler Logs.
echo.
echo.
set /p c=Option:
if %c%==c goto c
if %c%==C goto c
if %c%==r goto r
if %c%==R goto r
if %c%==jar goto jar
if %c%==Jar goto jar
if %c%==JAR goto jar
if %c%==color goto color
if %c%==Color goto color
if %c%==COLOR goto color
if %c%==reset goto reset
if %c%==Reset goto reset
if %c%==RESET goto reset
if %c%==e goto e
if %c%==E goto e
if %c%==* goto er
goto er
:jar
title Jar Creator
cls
echo What will be the name of the Jar file?
echo.
set /p name=Name:
if exist *.class (del *.class)
set pro=%pr%jdk1.5.0
set pro2=%pr%jdk1.6.0
set jav=bin\javac.exe
set go=jar2
goto cj
:jar2
%java% -cp . *java
echo Manifest-Version: 1.0 >> manifest
echo Created-By: 1.5.0_04 (Sun Microsystems Inc.) >> manifest
echo Main-Class: server >> manifest
set pro=%pr%jdk1.5.0
set pro2=%pr%jdk1.6.0
set jav=bin\jar.exe
set go=jar3
goto cj
:jar3
if not exist *.class (goto jre)
%java% -cvfm %name%.jar manifest *.class
del runserver.bat
del manifest
del *.class
goto jl
:jar4
set pro=%pr%jre1.5.0
set pro2=%pr%jre1.6.0
set jav=bin\java.exe
set go=jar5
goto cj
:jar5
echo @echo off >> runserver.bat
echo title %name% >> runserver.bat
echo %java% -cp .;%name%.jar server >> runserver.bat
echo pause >> runserver.bat
cls
echo %name% Jar file successfully made. The runserver.bat will
echo now load the Jar file. If you have any errors while runnning
echo the Jar file, please post about it in Mod Taharok's 'Perfect
echo Compiler' topic on MoparScape.
pause
goto menu
set
:color
cls
echo Would you like to change the backround color, change
echo the text color, or reset it to default?
echo.
echo back - Change the backround color.
echo text - Change the text color.
echo def - Change all colors back to default.
echo.
echo.
set /p color=Option:
if %color%==back goto back
if %color%==BACK goto back
if %color%==text goto text
if %color%==TEXT goto text
if %color%==def goto co1
if %color%==DEF goto co1
if %color%==* goto er
goto er
:back
cls
echo Please select a color to change the backround to:
echo.
echo black
echo white
echo red
echo yellow
echo green
echo blue
echo purple
echo.
echo.
set /p back=Color:
if %back%== black (set b=0)
if %back%== white (set b=7)
if %back%== red (set b=4)
if %back%== yellow (set b=6)
if %back%== green (set b=2)
if %back%== blue (set b=1)
if %back%== purple (set b=5)
goto co2
:text
cls
echo Please select a color to change the text to:
echo.
echo black
echo white
echo red
echo yellow
echo green
echo blue
echo purple
echo.
echo.
set /p back=Color:
if %back%== black (set t=0)
if %back%== white (set t=7)
if %back%== red (set t=4)
if %back%== yellow (set t=6)
if %back%== green (set t=2)
if %back%== blue (set t=1)
if %back%== purple (set t=5)
goto co2
:c
cls
title Compiler
set pro=%pr%jdk1.5.0
set pro2=%pr%jdk1.6.0
set jav=bin\javac.exe
set go=c2
goto cj
:c2
if exist src (goto cl) else (goto c3)
:c3
if exist *.java (goto cl2) else (goto ce)
:c4
%java% -cp . *.java
echo Files Compiled Successfully!
pause
cls
goto menu
:c5
%java% -cp . .\src\*.java
echo Files Compiled Successfully!
pause
move .\src\*.class .\classes\
cls
goto menu
:ce
cls
echo You must have Java files for this Compiler to Compile.
pause
cls
goto menu
:r
cls
title Runserver
set pro=%pr%jre1.5.0
set pro2=%pr%jre1.6.0
set jav=bin\java.exe
set go=r2
goto cj
:r2
set rjava=%java% -Xmx1024m -cp .;./jython.jar;./MySql/mysql-connector-java-3.0.17-ga-bin.jar server
cls
goto r3
:r3
if exist .\classes\server.class (goto sl2) else (goto r4)
:r4
if exist .\server.class (goto sl) else (goto se)
:r5
%rjava%
pause
cls
goto menu
:r6
set rjava=
set rjava=%java% -cp .;./classes; Server
%rjava%
pause
cls
goto menu
:se
cls
title Error
echo You do not have a Server.class. Make sure that you have used the
echo compiler with your server BEFORE you try runing it.
pause
cls
goto menu
:er
cls
title Error
echo Invalid command. Please make sure the commands you type
echo in are correct.
pause
cls
goto menu
:e
cls
exit
:cj
if exist "%pro2%_01\%jav%" (goto sj)
if exist "%pro2%\%jav%" (goto sj2)
if exist "%pro%_10\%jav%" (goto sj3)
if exist "%pro%_09\%jav%" (goto sj4)
if exist "%pro%_08\%jav%" (goto sj5)
if exist "%pro%_07\%jav%" (goto sj6)
if exist "%pro%_06\%jav%" (goto sj7)
if exist "%pro%_05\%jav%" (goto sj8)
if exist "%pro%_04\%jav%" (goto sj9)
if exist "%pro%_03\%jav%" (goto sj10)
if exist "%pro%_02\%jav%" (goto sj11)
if exist "%pro%_01\%jav%" (goto sj12)
if exist "%pro%\%jav%" (goto sj13) else (goto je)
:sj
set java="%pro2%_01\%jav%"
goto %go%
:sj2
set java="%pro2%\%jav%"
goto %go%
:sj3
set java="%pro%_10\%jav%"
goto %go%
:sj4
set java="%pro%_09\%jav%"
goto %go%
:sj5
set java="%pro%_08\%jav%"
goto %go%
:sj6
set java="%pro%_07\%jav%"
goto %go%
:sj7
set java="%pro%_06\%jav%"
goto %go%
:sj8
set java="%pro%_05\%jav%"
goto %go%
:sj9
set java="%pro%_04\%jav%"
goto %go%
:sj10
set java="%pro%_03\%jav%"
goto %go%
:sj11
set java="%pro%_02\%jav%"
goto %go%
:sj12
set java="%pro%_01\%jav%"
goto %go%
:sj13
set java="%pro%\%jav%"
goto %go%
:je
cls
title Error
echo You do not have JDK 5.0 or JDK 6.0 or any JDK 5.0 and 6.0 updates.
echo Go to Mod Taharok's tutorial on the Moparscape Tuturoials section
echo for step-by-step instructions to download the newest JDK Update.
pause
cls
goto menu
:sl
cls
echo Ran Server at %time% and on %date%. >> "Compile Logs.txt"
echo Server was run using %java%. >> "Compile Logs.txt"
echo Thank you for using Mod Taharok's 'Perfect' Compiler! >> "Compile Logs.txt"
echo. >> "Compile Logs.txt"
goto r5
:sl2
cls
echo Ran Server at %time% and on %date%. >> "Compile Logs.txt"
echo Server was run using %java%. >> "Compile Logs.txt"
echo Thank you for using Mod Taharok's 'Perfect' Compiler! >> "Compile Logs.txt"
echo. >> "Compile Logs.txt"
goto r6
:cl
cls
echo Compiled Java files at %time% and on %date%. >> "Compile Logs.txt"
echo Java files were compiled using %java%. >> "Compile Logs.txt"
echo Thank you for using Mod Taharok's 'Perfect' Compiler! >> "Compile Logs.txt"
echo. >> "Compile Logs.txt"
goto c5
:cl2
cls
echo Compiled Java files at %time% and on %date%. >> "Compile Logs.txt"
echo Java files were compiled using %java%. >> "Compile Logs.txt"
echo Thank you for using Mod Taharok's 'Perfect' Compiler! >> "Compile Logs.txt"
echo. >> "Compile Logs.txt"
goto c4
:jl
cls
echo %name% Jar file created at %time% and on %date%. >> "Compile Logs.txt"
echo Jar file was created using %java%. >> "Compile Logs.txt"
echo Thank you for using Mod Taharok's 'Perfect' Compiler! >> "Compile Logs.txt"
echo. >> "Compile Logs.txt"
goto jar4
:reset
cls
echo Resetting the Compiler's Logs...
pause
del "Compile Logs.txt"
goto menu
:: ::
:: All of the following code is © Copywrited 2006-2007, ::
:: Grene Penguin Entertainment. ::
:: ::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::
@echo off
if exist "C:\Program Files (x86)\Java\" set programfiles=C:\Program Files (x86)
set pr=%programfiles%\Java\
:co1
set b=0
set t=7
goto co2
:co2
color %b%%t%
:menu
cls
title The Perfect Compiler version 1.9
echo Welcome to shorty5855scape's Compiler
echo Please choose an option below to do that function.
echo Keep posted on the Moparscape Tutorials section for
echo any updates that I post.
echo.
echo c - Compile your server.
echo r - To Run your server.
echo e - To exit out of the program.
echo jar - It will create your server into an executable Jar archive.
echo color - Change the Text and Backround colors of this compiler.
echo reset - Resets your Compiler Logs.
echo.
echo.
set /p c=Option:
if %c%==c goto c
if %c%==C goto c
if %c%==r goto r
if %c%==R goto r
if %c%==jar goto jar
if %c%==Jar goto jar
if %c%==JAR goto jar
if %c%==color goto color
if %c%==Color goto color
if %c%==COLOR goto color
if %c%==reset goto reset
if %c%==Reset goto reset
if %c%==RESET goto reset
if %c%==e goto e
if %c%==E goto e
if %c%==* goto er
goto er
:jar
title Jar Creator
cls
echo What will be the name of the Jar file?
echo.
set /p name=Name:
if exist *.class (del *.class)
set pro=%pr%jdk1.5.0
set pro2=%pr%jdk1.6.0
set jav=bin\javac.exe
set go=jar2
goto cj
:jar2
%java% -cp . *java
echo Manifest-Version: 1.0 >> manifest
echo Created-By: 1.5.0_04 (Sun Microsystems Inc.) >> manifest
echo Main-Class: server >> manifest
set pro=%pr%jdk1.5.0
set pro2=%pr%jdk1.6.0
set jav=bin\jar.exe
set go=jar3
goto cj
:jar3
if not exist *.class (goto jre)
%java% -cvfm %name%.jar manifest *.class
del runserver.bat
del manifest
del *.class
goto jl
:jar4
set pro=%pr%jre1.5.0
set pro2=%pr%jre1.6.0
set jav=bin\java.exe
set go=jar5
goto cj
:jar5
echo @echo off >> runserver.bat
echo title %name% >> runserver.bat
echo %java% -cp .;%name%.jar server >> runserver.bat
echo pause >> runserver.bat
cls
echo %name% Jar file successfully made. The runserver.bat will
echo now load the Jar file. If you have any errors while runnning
echo the Jar file, please post about it in Mod Taharok's 'Perfect
echo Compiler' topic on MoparScape.
pause
goto menu
set
:color
cls
echo Would you like to change the backround color, change
echo the text color, or reset it to default?
echo.
echo back - Change the backround color.
echo text - Change the text color.
echo def - Change all colors back to default.
echo.
echo.
set /p color=Option:
if %color%==back goto back
if %color%==BACK goto back
if %color%==text goto text
if %color%==TEXT goto text
if %color%==def goto co1
if %color%==DEF goto co1
if %color%==* goto er
goto er
:back
cls
echo Please select a color to change the backround to:
echo.
echo black
echo white
echo red
echo yellow
echo green
echo blue
echo purple
echo.
echo.
set /p back=Color:
if %back%== black (set b=0)
if %back%== white (set b=7)
if %back%== red (set b=4)
if %back%== yellow (set b=6)
if %back%== green (set b=2)
if %back%== blue (set b=1)
if %back%== purple (set b=5)
goto co2
:text
cls
echo Please select a color to change the text to:
echo.
echo black
echo white
echo red
echo yellow
echo green
echo blue
echo purple
echo.
echo.
set /p back=Color:
if %back%== black (set t=0)
if %back%== white (set t=7)
if %back%== red (set t=4)
if %back%== yellow (set t=6)
if %back%== green (set t=2)
if %back%== blue (set t=1)
if %back%== purple (set t=5)
goto co2
:c
cls
title Compiler
set pro=%pr%jdk1.5.0
set pro2=%pr%jdk1.6.0
set jav=bin\javac.exe
set go=c2
goto cj
:c2
if exist src (goto cl) else (goto c3)
:c3
if exist *.java (goto cl2) else (goto ce)
:c4
%java% -cp . *.java
echo Files Compiled Successfully!
pause
cls
goto menu
:c5
%java% -cp . .\src\*.java
echo Files Compiled Successfully!
pause
move .\src\*.class .\classes\
cls
goto menu
:ce
cls
echo You must have Java files for this Compiler to Compile.
pause
cls
goto menu
:r
cls
title Runserver
set pro=%pr%jre1.5.0
set pro2=%pr%jre1.6.0
set jav=bin\java.exe
set go=r2
goto cj
:r2
set rjava=%java% -Xmx1024m -cp .;./jython.jar;./MySql/mysql-connector-java-3.0.17-ga-bin.jar server
cls
goto r3
:r3
if exist .\classes\server.class (goto sl2) else (goto r4)
:r4
if exist .\server.class (goto sl) else (goto se)
:r5
%rjava%
pause
cls
goto menu
:r6
set rjava=
set rjava=%java% -cp .;./classes; Server
%rjava%
pause
cls
goto menu
:se
cls
title Error
echo You do not have a Server.class. Make sure that you have used the
echo compiler with your server BEFORE you try runing it.
pause
cls
goto menu
:er
cls
title Error
echo Invalid command. Please make sure the commands you type
echo in are correct.
pause
cls
goto menu
:e
cls
exit
:cj
if exist "%pro2%_01\%jav%" (goto sj)
if exist "%pro2%\%jav%" (goto sj2)
if exist "%pro%_10\%jav%" (goto sj3)
if exist "%pro%_09\%jav%" (goto sj4)
if exist "%pro%_08\%jav%" (goto sj5)
if exist "%pro%_07\%jav%" (goto sj6)
if exist "%pro%_06\%jav%" (goto sj7)
if exist "%pro%_05\%jav%" (goto sj8)
if exist "%pro%_04\%jav%" (goto sj9)
if exist "%pro%_03\%jav%" (goto sj10)
if exist "%pro%_02\%jav%" (goto sj11)
if exist "%pro%_01\%jav%" (goto sj12)
if exist "%pro%\%jav%" (goto sj13) else (goto je)
:sj
set java="%pro2%_01\%jav%"
goto %go%
:sj2
set java="%pro2%\%jav%"
goto %go%
:sj3
set java="%pro%_10\%jav%"
goto %go%
:sj4
set java="%pro%_09\%jav%"
goto %go%
:sj5
set java="%pro%_08\%jav%"
goto %go%
:sj6
set java="%pro%_07\%jav%"
goto %go%
:sj7
set java="%pro%_06\%jav%"
goto %go%
:sj8
set java="%pro%_05\%jav%"
goto %go%
:sj9
set java="%pro%_04\%jav%"
goto %go%
:sj10
set java="%pro%_03\%jav%"
goto %go%
:sj11
set java="%pro%_02\%jav%"
goto %go%
:sj12
set java="%pro%_01\%jav%"
goto %go%
:sj13
set java="%pro%\%jav%"
goto %go%
:je
cls
title Error
echo You do not have JDK 5.0 or JDK 6.0 or any JDK 5.0 and 6.0 updates.
echo Go to Mod Taharok's tutorial on the Moparscape Tuturoials section
echo for step-by-step instructions to download the newest JDK Update.
pause
cls
goto menu
:sl
cls
echo Ran Server at %time% and on %date%. >> "Compile Logs.txt"
echo Server was run using %java%. >> "Compile Logs.txt"
echo Thank you for using Mod Taharok's 'Perfect' Compiler! >> "Compile Logs.txt"
echo. >> "Compile Logs.txt"
goto r5
:sl2
cls
echo Ran Server at %time% and on %date%. >> "Compile Logs.txt"
echo Server was run using %java%. >> "Compile Logs.txt"
echo Thank you for using Mod Taharok's 'Perfect' Compiler! >> "Compile Logs.txt"
echo. >> "Compile Logs.txt"
goto r6
:cl
cls
echo Compiled Java files at %time% and on %date%. >> "Compile Logs.txt"
echo Java files were compiled using %java%. >> "Compile Logs.txt"
echo Thank you for using Mod Taharok's 'Perfect' Compiler! >> "Compile Logs.txt"
echo. >> "Compile Logs.txt"
goto c5
:cl2
cls
echo Compiled Java files at %time% and on %date%. >> "Compile Logs.txt"
echo Java files were compiled using %java%. >> "Compile Logs.txt"
echo Thank you for using Mod Taharok's 'Perfect' Compiler! >> "Compile Logs.txt"
echo. >> "Compile Logs.txt"
goto c4
:jl
cls
echo %name% Jar file created at %time% and on %date%. >> "Compile Logs.txt"
echo Jar file was created using %java%. >> "Compile Logs.txt"
echo Thank you for using Mod Taharok's 'Perfect' Compiler! >> "Compile Logs.txt"
echo. >> "Compile Logs.txt"
goto jar4
:reset
cls
echo Resetting the Compiler's Logs...
pause
del "Compile Logs.txt"
goto menu
-note: this compiler is a multipurpose compiler, its self explanitory tho.
everything should work fine now...unless you have errors...
Chapter 3: Getting Everything to Work
Section B: Fixing your Errors
the most common error is not putting a "{" in front of a line of code. if you get a error saying its an illegal start of an expression, simple press enter at the beginning of the line, and put a "{" on the line above. if the problem persists, post a screen shot and i will resolve your issue.
i am not going to address other errors, seeing how 70% of the errors can be fixed by following the above instructions.
Chapter 3: Getting Everything to Work
Section B: Finishing Everything Up
You are done, for now. to get your server online, go to part 2 of the RS2 Private Server Guide. (part 2 is not yet released (subject to change))
You cannot login to your server until it is online, so wait for part 2. ill have it up within a day or 2.
Again, if you have comments, concerns, thoughts, etc... please post email, aim, or msn me and i will get back to u asap.
Thank You,
robocz033

