This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.
Topics - ry60003333
« on: December 25, 2015, 07:34:33 PM »
« on: June 15, 2012, 03:17:02 PM »
Welcome to WorldScape!
WorldScape is ran by Ry60003333, Kevin, and Bill!
FIRST and ONLY Multi-Version Server!
VPS and 24/7!
- 508 HD/LD Downloadable Clients -
- 508 HD FullScreen option -
- All 474 items, emotes, and gfxs -
- Custom minigames -
- Player following -
- Player trading -
- Party room -
- Working staking/dueling -
- Skill capes -
- 100% Player Vs Player combat -
- 100% Player Vs NPC combat -
- Capable of npc vs npc combat -
- Lots of pkers -
- Minigame shop containing 474 items -
- 100% working woodcutting, firemaking, fishing, mining, runecrafting, prayer, smithing, cooking, farming, soon to be all skills -
This server was not downloaded and then hosted. It was programmed from nothing and built entirely from scratch. That's just how awesome Ry60003333 is.
Play WorldScape here: Web client
Download the client: Download here (direct download)
Visit our forums: WorldScape Homepage
Our highscores: WorldScape highscores[/url]
WorldScape Daxking vs Francis
WorldScape Camp (Custom Mini-Game)
One Epic Day In WorldScape
Some In-Game pictures:
Q: How long has this server been around?
A: It's been around since January 2007.
Q: Who created WorldScape?
Q: How often does the server have to restart?
A: Hardly ever! This server does not use a "base" server, it was coded 100% by Ry60003333 from scratch! It supports 2,000 players online at one time, without any lag!
Part 1Part 2
Q: How often do updates occur?
A: About once or twice a week, we try not to make to many updates in such a short period of time so players can enjoy the game without being kicked off every day. We don't need to switch the server on and off to test updates either, we have a complete Beta testing world for specially chosen players to come and test!
« on: April 23, 2012, 05:44:45 PM »
Follow us on Twitter!
*Please keep in mind that the game is currently in Alpha stage, meaning you will find some bugs here and there.*
Welcome to RuneRebels!
RuneRebels is a very well-known private server whose sole purpose by its staff and development team is to replicate RuneScape exactly the way it was in the year 2006. We've succeeded thus far with lots of help from previous staff and developers, as well as a handful of new developers we were lucky enough to stumble upon, and even a vast amount of the MoparScape staff team!
We have three VPS' running three separate worlds: two member worlds and one non-member world. Our VPS' all have anti-DDoS protection on them.
Please also note that any members content is absolutely free and requires no payment for any of our members within our community.
Members' content has finally been released!
2,000 Player Stability-Stress Test
RuneRebels Music System
Connecting friends list between worlds!!
Skills (not limited to):
Minigames (not limited to):
One of the many annoyances of running a server is having to open up port 43594 (or whatever port you are using) in your router. Portforward.com has helped make this an easy process, but if you don't know your password to your router, you're out of luck.
Luckily, there's a technology called UPnP that can resolve this. Basically, it lets devices on your network discover and talk to each other. One use of this is to find the router, and tell it to add a port forwarding entry. We can use this to automatically port forward for our private server.
Note: UPnP has to be enabled in the router for this to work, and in most routers it is.
There is a UPnP library written in Java called UPnPLib, and I have packaged it along with a simple class I wrote to add port forwarding entries into this JAR file:
Step 1: Download the file above, and BACKUP your server before you attempt this. This is a very simple addition, but if you don't know what you've done wrong you will have a hard time fixing it!
Step 2: Place the file in the correct location.
If you are using a 317 server, place the JAR file in the server's folder with all the source (.java) and class (.class) files.
Step 3: Now that we have placed the JAR file in a location where the server can get at it, we need to include it in your server's classpath. The classpath is a list of places for the JVM to look for class files when the server is running. To add the JAR to your server's classpath, open the files you use to compile and run your server.
Here is an example picture from a 317 server:
The -cp option is used with the compiler and the server to modify the classpath. To add multiple folders/files to the classpath, you separate the paths with a semicolon on Windows (;) and a colon (:) on UNIX-like systems such as Linux or Mac OS X. You must add the JAR file to the classpath of every java or javac command in both of the run and compile files. Follow these steps to do this:
1. If there isn't a -cp option anywhere in the file already, add one after the java/javac command.
2. Add the path to the JAR file to the classpath. Since we placed the JAR file in the same folder as the server code, the path to it is: .\AllGoFreePortForwarding.jar
(or ./AllGoFreePortForwarding.jar on UNIX-like systems)
If there is already something after the -cp option, add a path separator (the ; character on Windows) after what is already there, and then add the path to the JAR file.
317 (Windows file paths):
Step 4: Test both the compile and run scripts that you just edited. They should work exactly as they did before, if they do not, restore your backup and start over from the beginning or post for help, including the contents of both your run and compile scripts, and what server type you are doing this on.
Step 5: If your compile and run scripts are still functioning, then you are almost done! All you have to do is add in the few lines of code that actually do the port forwarding.
317: Open the file "Server.java" or "server.java", and find this:
Once you've found it, simple add this code on a new line after the opening bracket of the method:
Of course you can change 43594 to whatever port you want to be forwarded, but it should match the port that your server is running on.
Step 6: Compile and run your server, and if you get the message "Automatic port forwarding complete.", then your server was successful in opening up the port in your router. Now pat yourself on the back and get back to work!
RuneScape 2 Blitz by ~All-Go-Free~
Well, after seeing how horribly programmed WinterLove servers were, I decided to make my own server. I had already made a good packet reading/writing system that could be wrapped around standard IO, or could be powered by a NIO controlling class, which ran in its own thread doing all the actual IO. It allows a huge amount of incoming OR outgoing connects to be handled in one thread. The controlling class does all the underlying work, and the server only deals with streams of packets. This allows for improvements or more implementations of the underlying structure, without changing any code in the server. All that would be needed is a recompile.
I also wanted to use scripting and events to make things easier. And CFG files in my view are terrible. I used MySQL for storing data, as it allows for easy updating and a central database that all the Worlds can get information from, and you can edit scripts for something, such as commands, in MySQL, and then tell all the Worlds to reload the information into memory.
So it started off as 317, and I got this far then stopped:
Then, when 474 servers started to come out, I took a look at them and they were unstable pieces of crap. So I remembered that old project, and updated it to 474, and got this:
But 474 was slowly fading away because of the lack of 'MapData', and then 503 servers came along. Since I made it as upgradable as possible, up to 503 it went:
But, then came 508 servers. So once again, I updated it:
The server is also well programmed. Npcs and Players are both Entities, which own an object that implements Attackable. So, all code written for combat works on Npcs AND players. And all the data is loaded from MySQL into memory, even special attack code.
The server-side object system is also complete, and I now have the object packet! Both Woodcutting and Mining will just be scripts that pass themselves as an Event object to the player, so I could update either of them without even restarting the world. If you are interested, I used BeanShell as the scripting language, as it may be included with Java itself soon, plus it uses Java's syntax which makes scripting incredibly easy. Also, the login server is now complete! Account loading and saving is done though the login server, which allows for very fast loading and saving over slow connections. Each piece of data implements a Data interface, with methods to convert the data to a byte array and create a Data class from a byte array. This makes it super easy to add player information to save.
More login server information:
Basically, the Login Server handles the loading/saving of Data objects attached to a Player. Even the Username is part of a Data object, which I named VitalData, that is automatically loaded for every user. The only information used in packets is the PID (unique Player ID). Everything that connects to the Login Server is a service that a user can connect too. For example. the RS2 Blitz worlds are services, and in the future if I make a game it will also be a service. A list of users on all the services is sent to every service and kept up to date, which ensures that one user is never on two services at once. This is also how the friends list will function, as the login server also forwards Private Messages. Data can be marked as global or non-global. Global data attached to a user is sent to every service, while non-global data is sent to only the service the user is on. And if you look at the JavaDoc, you will see that the login server is simple and lightweight, but VERY powerful. I think RSCD was planning to do something like this, but I guess I got to it first!
I've also uploaded the JavaDoc for the server, the Login Server, and my ~All-Go-Free~ APIs used in it. They aren't always up to date, but I do re-upload the JavaDocs every once and a while:
Another great thing is that I can make large changes to the core NIO APIs, which I have done, and no changes to the server are needed.
The server is now compatible with the HD client:
And thats the story of RuneScape 2 Blitz! I am working on it constantly, and I'm using it for my next server, WorldScape Blitz. I hope you enjoyed learning about the server!
Post as much as you want, I'm open to comments, suggestions, and criticism with appropriate reason.