HobbyRS

Songoty

Community Veteran
Dec 19, 2007
2,752
267
0
Thread Introduction

This thread is still a work in progress

Hello, and welcome to my project thread. This is going to be a mostly text based project post, so if that is not your thing it may not be for you. In addition, this will not be a generic OSRS style server, and if that's what you like there are other project threads that may interest you. As well, this will not be a classic emulator, and if that interests you I would check out both ScapeRune (thing1) or LostCity's 2004 scape (Pazaz and Jordan), both of which are high quality emulation projects around 2004-2007 era that I would recommend.

HobbyRS is a project my partner Michael (Has gone by many names here, Pwnt/Beekin/Noiss/Jenzuka) and myself started in January of this year after many months of back and forth discussions of the old days. We both were active in the scene for many years, especially during what I would call the golden era of RSPS development (2007-2012). As the name suggests, it's a hobby project not meant to compete with any of the generic top servers that strive to make their developers an income. Both of us have careers and stability in our life. However, RSPS development is something I genuinely enjoy. I have done other programming projects in other areas (mostly web development, not design, I can't design, I have no style etc) but none have been as enjoyable as RSPS.

With that in mind, we set out to develop a server together for fun, on weekends mostly. I've decided to create a project thread for it now as it will be easier to keep track of progress, as well as to show off various accomplishments.

Project Introduction

As said, HobbyRS is a hobby project to learn and do new things. It is the spiritual successor to the various Ardetus projects that ended in 2017. The concept around HobbyRS is creating a different kind of emulator that doesn't necessarily follow or attempt to emulate Runescape. We are writing our own content, our own stories, and so on. We are still in the early stages of that as we continue to write the features we need to make that a possibility. I will now give you an brief overview of the various components of HobbyRS. Keep in mind I do not know a lot about Runescape's content to begin with as I only played it briefly in 2004-2005. I have never really played it since then and know very little about mechanics of the game.

Client

The client is based off of Mopar's scrAllDummiesRemoved, which is a 317 client. I have no interest in learning anything about the newer revisions, and the 317 client is what I know best and stick to.

There have been many changes made to the client however. For starters, we do not use the Runescape file store system in any capacity. We use our own as it makes it easier to roll out updates as well as modifying things. Obviously we still use Runescape assets (models, maps, etc). Various formats are different though, such as sprites, indexedimages, definitions etc.

The client also does not use anything relating to the original user interface or game interface systems. Instead it uses a UI system I developed to control every aspect of user input and what not. It's a much cleaner way of doing it, and provides way more possibilities and ease of development compared to how the 317 handled the UI and game interfaces. Most components can be serialized and stored in the file store as well, and a visual editor is in the works for comoponents. Rendering the game world is untouched, I am only talking about the UI

Client supports our character select system which is still a work in progress, but is functional. It is inspired by World of Warcraft and I believe one of the largest issues with Runescape, not allowing multiple characters per account.

World

The World Server is a lightweight framework I wrote. It utilizes plugins for most content as well as codecs etc. It's basically the same thing I've been using for many years. I am a big fan of how Ry did plugins and copied his system in the early 2010's and just have stuck with it since.

World Server is integrated with the web end currently. It also supports our character select system, which is inspired by World of Warcraft. The World Server lacks any real content/features currently as the client has been the main point of development this far.

Web

We got lucky and found a backup of a web system I developed in 2017. It uses a theme from Arios, with everything functionality wise written by me. Has a lightweight forum system, excellent administration/moderation panel system, etc. I have not really done any work on it other that changes for character selection and stuff this time around, but it still needs work to make it a fully integrated part of HobbyRS, but for now it's functional.

Tools

As said, we do not use the Runescape filestore system. I have written several tools for modifying our data.

I am currently putting most of these tools into a 'suite' (inspired by an old cache suite we all used back then by Tom) and still writing more tools/editors etc.

Questions, Comments, Concerns?

Post them in this thread. I will respond. Please do not make posts about how I should use X, or need to do Y, as I'm not interested in that kind of stuff. I am happy with how it is.

Media
Spoiler for Media:

001.png

002.png
003.png
004.png
005.png
006.png

Screenshot 2025-03-02 100242.png
 
Last edited:
  • Like
Reactions: Naughty Klaus
Best of luck! Looking forward to the updates!
Also, solid choice going with scrAllDummiesRemoved, that's what I used to learn before I moved over to jkms refactor and also danes refactor, good times!
 
Best of luck! Looking forward to the updates!
Also, solid choice going with scrAllDummiesRemoved, that's what I used to learn before I moved over to jkms refactor and also danes refactor, good times!
Yea it’s what I learned on all those years ago. It’s a solid foundation. Can refactor as you go. Just wanted something basically untouched.
 
Thought I'd go a bit more into depth about my UI system.

If you go through my thread history I had a few threads about the precursor systems years and years ago. This current system expands onto those ideas/concepts. It's extremely extensible and allows users to write plugins to replace core/game components, or to create new ones all together. This is inspired by WoW from when I played in in 2004-2011 so I don't know if WoW still lets you do that. Back then you could get so many addons to completely customize the look and feel of your game interface.

The entire system is serializable and the idea is to have most components outside of the minimap (as there's logic in that implementation, but maybe eventually the logic will be moved elsewhere) serialized to the component archive, such as 0.dat, 1.dat etc, mostly for organizational purposes but also to allow the visual editor to function. The visual editor is still a work in progress and not a lot of time has been devoted to that but we're almost at the point where that can be written and used.

Widgets are what makes up the component pieces. There's many different types of widgets (ToggleButtonWidget, SliderBarWidget, ItemDisplayWidget, ItemDisplayGroupWidget, as example) etc, while the component handles the interaction with the entire component, fires events to the widgets and so on and so forth.

Everything outside of the actual scene rendering is part of the component system, such as the login screen, loading screen, all the interfaces you see in the screenshots. Each screen has it's own "Screen" implementation however, for organizational purposes.

There are three types of components currently:
  • Overlay
    • Overlay components are exactly what the name suggests. They overlay on top of the screen and do not offer any user interaction. These can be compared to the Wilderness skull interface used to signal what level of the wilderness you are in. Currently the only implementation is a debug info pane, but this will have more uses down the road as we get into writing replacements for various RS interfaces
  • Core
    • Core components make up the replace components for the 317 UI. These are the chatbox, minimap, tabarea, as well as the developer console.
    • The only real reason they are differentiated from game components is so they can be locked from movement separately from other interfaces. These components also cannot be dismissed, but they can be hidden or shrunk etc, similiar to Runescape
  • Game
    • These serve as replacements for the Runescape interfaces. The current implementations are the quick settings component and the inventory component. Nothing else has been written yet.
    • All the same functionality capibility as core components, just lock independently, and typically can be dismissed.
A system like this provides way more flexibility than what normal Runescape provides, and makes development of interfaces and eventually content easier and quicker.
 
  • Like
Reactions: Dexter Morgan
Nice work! Really looking forward to this :yes:
I've been dying to play something like Mige5's Orion for a long time now.. hoping this may follow suit
 
Nice work! Really looking forward to this :yes:
I've been dying to play something like Mige5's Orion for a long time now.. hoping this may follow suit
This won't be an emulation of any Runescape revision or time period if that's what Orion is/was.
 
Hell yeah, this is awesome. I've always wanted to do something like this.

Are you planning to use build a whole new map, or just use a vanilla world?
 
Hell yeah, this is awesome. I've always wanted to do something like this.

Are you planning to use build a whole new map, or just use a vanilla world?
There is a really cool world map somebody made and released in the RS2 client section that I was debating using. I’d love to learn how to make maps and what not and that’s a possibility as well. i’ve never really done that.
 

Users who are viewing this thread (total: 1, members: 0, guests: 1)