[Only registered and activated users can see links. Click Here To Register...]
Kronos was a semi-custom server that was hosted from May to September of 2020. We launched with 150 players online and maintained stability well.
Our goal was to have the features of a modern deob client such as gpu rendering while also having high quality custom content.
This package has been collecting dust on my github repository and I'd like to have it out to the community in hopes that it may inspire some users to move away from 317 servers and into deobs even if they want to do custom servers.
ReverendDread has already released our cache editor which was written for Kronos. That can be found [Only registered and activated users can see links. Click Here To Register...]. Be sure to thank his post!
Most notably is the way item attributes and upgrades work. On each item object there is also an optional list of attributes that can be added fairly easily.
This server contains most content up to TOB and we started a good bit of work on it before closing. The interfaces and party systems are done, combat it left.
You can learn more about what there server has to offer in our [Only registered and activated users can see links. Click Here To Register...]
Packages explained Game Server:
Adjust DB information in the `server.example.properties` file, then rename it to `server.properties`
you will need to be sure to assign different ports if you'd like to load multiple worlds on one central server
Client (runelite)
Use the `CustomMain` class to designate whether you're like to run in development or live mode.
You can edit these configurations in the `CustomWorldType` class.
To run the client, you will need to upload the included "worlds.ws" file to a webhost and point the client at the new url
Central Server:
This controls the world list for the client and the cross-world chats such as clan chat and pms.
Webhooks:
This api was purely used for runelite highscores integration.
Just leave it alone if you don't know what you're doing.
API
Poorly named. This is really more of a library where methods that are used across the packages can be accessed from.
Launcher
This was a simple, no-nonsense launcher that simply updated the client jar for users.
Make any adjustments for your client download link the `Main` class.
No need to update some silly text document or anything, the launcher checks that the user has the most up-to-date client, and if there is a new version, it downloads it.
Update Server
This server serves the cache to users.
The update server must be running to launch the client.
A note about running this server in production
For security reasons, I have not released our web integration. You will notice that the central server calls back to our website for authentication, however, for someone who knows what they're doing, they can recreate this. Otherwise, you can strip that integration out and only load players based on local authentication. you can run the server in development mode and you will be able to connect without web authentication.
12/30/20 Update
New version with a simplified gradle import process has been released.
Server/client/cache v1.1: [Only registered and activated users can see links. Click Here To Register...]
Web files v1.0: [Only registered and activated users can see links. Click Here To Register...]
Spoiler for Kronos Tutorials & Tools:
Tutorial for setting up within Intellij: [Only registered and activated users can see links. Click Here To Register...]
Guide for central server auth with xenforo or ipb [Only registered and activated users can see links. Click Here To Register...]
Kronos Cache Tool by ReverendDread [Only registered and activated users can see links. Click Here To Register...]
Frequently encountered issues
If you're having issues running Kronos, please review these issues first and see if they correct your problem before contacting me directly.
Spoiler for FAQ:
java.lang.OutOfMemoryError: GC overhead limit exceeded
Increase your heap size (RAM usage).
Kronos has a very intensive startup between loading thousands of JSON data files and kilim's weaving process which is what Kronos uses for thread management.
Failed To Update World List [Only registered and activated users can see links. Click Here To Register...]
This means your world_updater.php and worlds.ws files are not reachable.
This could mean you're using an invalid API key or that you simply have not configured it at all or incorrectly.
I have released a tutorial here: [Only registered and activated users can see links. Click Here To Register...]
The second part of the tutorial covers how to configure this.
Update server is looking for server.properties.
The update server also needs to be fed an argument of where to look for the cache.
So simply copy over the server.properties from your gameserver or reconfigure where the update server looks for the configuration.
We had intended to reconfigure how the update server looks for this file, however we simply never did.
Client opens with a black screen.
Ensure that your update server is running and your client is configured correctly.
Your client will not move past this point unless it can make a connection.
Client Connection Timeout [Only registered and activated users can see links. Click Here To Register...]
The javconfig file was included in the root folder in the v1.1 release. This needs to be uploaded to your webhost.
After you've done so please place the correct URL in your client.
`ClientConfigLoader` line 44 [Only registered and activated users can see links. Click Here To Register...]
thanks for the release :o, was fun to play while it lasted
12-28-2020, 01:45 AM
Leviticus
Thanks for the contribution!
12-28-2020, 01:46 AM
Abnant
Great release :cube:
12-28-2020, 01:48 AM
ANTILEECH
looks fun to play around with, thanks for releasing
12-28-2020, 01:51 AM
premjer
great contribution man thanks
12-28-2020, 03:28 AM
Chance
Selling Kronos website. :lolbert:
Cool stuff, Pat. You and Dread are great devs im sure it's a good upgrade.
12-28-2020, 04:22 AM
eamo
Nice contribution Pat!
12-28-2020, 04:37 AM
012951yvna8sgk
Nice 1 Pat <3
12-28-2020, 05:35 AM
Mantvis
Nice one thanks
12-28-2020, 06:17 AM
Kid Buu
Thanks for this Pat. If I finally move from 317s it'll be to this bad boy. Was fun to play a few times & love some of the customs y'all added that felt like they belonged in OSRS.
12-28-2020, 08:15 AM
taboo
cool thanks for this
12-28-2020, 08:37 AM
Women
played this for a few days
sick release
12-28-2020, 02:33 PM
Sadie
Insane release, I'm sure it'll come to great use for many people, thanks for the contribution
12-28-2020, 08:32 PM
Shnek
Great release, wow!!
12-29-2020, 06:15 AM
Patrity
I've released a guide on how to setup authentication with XenForo. [Only registered and activated users can see links. Click Here To Register...]
Please do not PM me for help on this, it's really very simple.
12-29-2020, 01:22 PM
Brandito
Some quality code in this source, custom home area is also very nice.
I wish runelite lowered the default volume so I don't jump out of my chair when the login music starts. (damn jigex)
A potential small oversight (just something to keep in mind if you plan to host this source):
MAC and UUID being sent through login packet can be forged if I'm not mistaken, easy way to circumvent the mac/uuid bans.
12-29-2020, 02:40 PM
Patrity
Quote:
Originally Posted by Brandito[Only registered and activated users can see links. Click Here To Register...]
Some quality code in this source, custom home area is also very nice.
I wish runelite lowered the default volume so I don't jump out of my chair when the login music starts. (damn jigex)
A potential small oversight (just something to keep in mind if you plan to host this source):
MAC and UUID being sent through login packet can be forged if I'm not mistaken, easy way to circumvent the mac/uuid bans.
So, we actually changed the login packet so each player is assigned a custom hash, it is stored in their user home, and sent each time they log in. Jagex by default does not utilize MAC or anything like that for banning so we had to add something.
Of course, it's a Java client, so anything can be altered if you know what you're doing. But, in general, with decent obfuscation, most people will not be able to modify the login packet.
12-29-2020, 02:48 PM
Mokhtar
very good release thank you
12-29-2020, 02:49 PM
Tyluur
this is fucking dope
12-29-2020, 05:52 PM
Patrity
It's come to my attention that some users are running into issues building the gradle project.
You need to set your working directory to the module directory. I will post another tutorial on this tonight when I'm home.
12-29-2020, 05:58 PM
Castiel
Quote:
Originally Posted by Patrity[Only registered and activated users can see links. Click Here To Register...]
It's come to my attention that some users are running into issues building the gradle project.
You need to set your working directory to the module directory. I will post another tutorial on this tonight when I'm home.
sick man is that this problem? [Only registered and activated users can see links. Click Here To Register...]
12-29-2020, 07:51 PM
Ilgaz
Wtf, I have fucking no clue of running this awesome server. It works on eclipse?
I pay someone if he helps me run it.
12-29-2020, 08:30 PM
Patrity
Quote:
Originally Posted by Ilgaz[Only registered and activated users can see links. Click Here To Register...]
Wtf, I have fucking no clue of running this awesome server. It works on eclipse?
I pay someone if he helps me run it.
It's JVM... It works on IntelliJ, Eclipse, Netbeans, hell, run it with a notepad and a bat.
12-29-2020, 08:44 PM
Badouscape
add me on disc badoune#3614
12-29-2020, 08:53 PM
Mikey`
I thought leaked servers weren't allowed here? It's based on runite.
12-29-2020, 10:08 PM
_joe
thanks brother..
12-29-2020, 10:45 PM
Patrity
Quote:
Originally Posted by Mikey`[Only registered and activated users can see links. Click Here To Register...]
I thought leaked servers weren't allowed here? It's based on runite.
Many factors went into why I chose to release it anyway.
The original creators are long gone from the scene, plenty has been changed, the current owners of the IP did not mind that it was released.
We had a conversation just yesterday with the current owners and it was agreed that it was fine that I released.
12-29-2020, 11:02 PM
Plo Koon
Quote:
Originally Posted by Mikey`[Only registered and activated users can see links. Click Here To Register...]
I thought leaked servers weren't allowed here? It's based on runite.
none cares, it has been leaked everywhere jeez.
12-30-2020, 12:53 AM
Ilgaz
Quote:
Originally Posted by Patrity[Only registered and activated users can see links. Click Here To Register...]
It's JVM... It works on IntelliJ, Eclipse, Netbeans, hell, run it with a notepad and a bat.
Can you tell me what excatly folders I should choose from the 100's folders u have there to eclipse? I need to the server + client side.
12-30-2020, 01:08 AM
Patrity
Quote:
Originally Posted by Ilgaz[Only registered and activated users can see links. Click Here To Register...]
Can you tell me what excatly folders I should choose from the 100's folders u have there to eclipse? I need to the server + client side.
It's all one project. I have no idea why you'd try to use Eclipse for this, but all you have to do is load the root build.gradle and the project will open and the gradle wrapper will download with all the deps.
12-30-2020, 01:47 AM
Castiel
Quote:
Originally Posted by Patrity[Only registered and activated users can see links. Click Here To Register...]
It's all one project. I have no idea why you'd try to use Eclipse for this, but all you have to do is load the root build.gradle and the project will open and the gradle wrapper will download with all the deps.
is there maybe a change u can make a vid for ppl that never done 317 or stuff like this i think that is maybe the easys way todo before everybody is going to selle there services to setting this server up
12-30-2020, 02:28 AM
Patrity
Quote:
Originally Posted by Castiel[Only registered and activated users can see links. Click Here To Register...]
is there maybe a change u can make a vid for ppl that never done 317 or stuff like this i think that is maybe the easys way todo before everybody is going to selle there services to setting this server up
That may be the thing to do. Will look into it.
12-30-2020, 08:19 AM
Brandito
Quote:
Originally Posted by Patrity[Only registered and activated users can see links. Click Here To Register...]
So, we actually changed the login packet so each player is assigned a custom hash, it is stored in their user home, and sent each time they log in. Jagex by default does not utilize MAC or anything like that for banning so we had to add something.
Of course, it's a Java client, so anything can be altered if you know what you're doing. But, in general, with decent obfuscation, most people will not be able to modify the login packet.
I completely agree with decent obfuscation it can be hidden, personally I remember adding the same system to a 317 a few years back, just thought I'd point it out here since I've noticed plenty of new servers not bothering with obfuscation lately.
Quote:
Originally Posted by Patrity[Only registered and activated users can see links. Click Here To Register...]
It's all one project. I have no idea why you'd try to use Eclipse for this, but all you have to do is load the root build.gradle and the project will open and the gradle wrapper will download with all the deps.
Almost everyone I've helped run a runite base has tried to tell me "Intellij IDEA sux, set it up for me in eclipse".
Another case was one guy who tried to tell me to join him in paying for half the VPS after I told him his 1GB windows VPS wouldn't be enough to run it.
I literally do not see any cons in moving from eclipse to intellij idea, the UI is much easier imo.
Quote:
Originally Posted by Castiel[Only registered and activated users can see links. Click Here To Register...]
sick man is that this problem? [Only registered and activated users can see links. Click Here To Register...]
Your update server cannot find the methods/classes/packages in the api module. Ensure the update-server module requires the api module as a dependency.
12-30-2020, 10:35 AM
ReverendDread
Quote:
Originally Posted by Patrity[Only registered and activated users can see links. Click Here To Register...]
That may be the thing to do. Will look into it.
I wouldn't bother, 90% of the people trying to set this up don't even know what an if-statement is.
12-30-2020, 05:36 PM
Patrity
Quote:
Originally Posted by Brandito[Only registered and activated users can see links. Click Here To Register...]
I completely agree with decent obfuscation it can be hidden, personally I remember adding the same system to a 317 a few years back, just thought I'd point it out here since I've noticed plenty of new servers not bothering with obfuscation lately.
We only obfuscated because of the various client changes we made. It's already setup in our gradle project, you'd be crazy not to obfuscate this client.
Quote:
Originally Posted by Brandito[Only registered and activated users can see links. Click Here To Register...]
Almost everyone I've helped run a runite base has tried to tell me "Intellij IDEA sux, set it up for me in eclipse".
Another case was one guy who tried to tell me to join him in paying for half the VPS after I told him his 1GB windows VPS wouldn't be enough to run it.
I literally do not see any cons in moving from eclipse to intellij idea, the UI is much easier imo.
Because anyone needing help setting up a project is obviously uninformed :aware:
12-30-2020, 10:10 PM
Shnek
Great release, what would be the best way to use the client on localhost?
12-30-2020, 10:45 PM
Patrity
Quote:
Originally Posted by Shnek[Only registered and activated users can see links. Click Here To Register...]
Great release, what would be the best way to use the client on localhost?
As I said in the main post, just check out `CustomWorldType`.
Set one of the IP's to connect to your local world, then change the default in `CustomMain`
12-31-2020, 01:14 AM
Ilgaz
Bro I really want to run this project it's very hard. Maybe it's very easy for you cos u worked with it, but 80% of people here can't run this cos we never received a project like this, the most servers here are " Client + Server side + Cache folders only.
So if you may make a small video of how to run it, etc. It will help a lot of ppl here and no one will ask you again for help about of how to run it.
12-31-2020, 01:29 AM
Jaybrav
Quote:
Originally Posted by Ilgaz[Only registered and activated users can see links. Click Here To Register...]
Bro I really want to run this project it's very hard. Maybe it's very easy for you cos u worked with it, but 80% of people here can't run this cos we never received a project like this, the most servers here are " Client + Server side + Cache folders only.
So if you may make a small video of how to run it, etc. It will help a lot of ppl here and no one will ask you again for help about of how to run it.