317 Tarnish: Updated public release

I have the client and server running. How do I edit maps in RSPSi? I don't know how to do anything this is all new to me. I downloaded the tarnish-rspsi file and im unsure how to run it
 
I have the client and server running. How do I edit maps in RSPSi? I don't know how to do anything this is all new to me. I downloaded the tarnish-rspsi file and im unsure how to run it
As you have said, you have the server and the client running, so this will be aimed at just getting Tarnish-RSPSi running.

You can download Tarnish RSPSi from the following link. It was posted in the forums by Advocatus here: https://rune-server.org/goto/post?id=5807703
This is his link to Tarnish-RSPSi

Once you have downloaded the file, unzip, and open the folder with IntelliJ.

The Build will fail with the following error:
Class com.sun.tools.javac.tree.JCTree$JCImport does not have member field 'com.sun.tools.javac.tree.JCTree qualid'
buildFail.PNG

The issue here seems to be that JDK 21 and the version of Lombok used (1.18.22), are incompatible.
All we need to change is the version of Lombok!

Open the file build.gradle in the root of the folder you are using (RSPSiSuite):
buildFile.PNG

Edit line 54 to the following:
version = "1.18.30"

Rebuild the project using the rebuild button:
intellijBuild.PNG
The build should now succeed and you should be able to use the gradle menu on the right-side:

1. Click the Elephant Logo
2. Double-Click Run
executeGradle.PNG


Hopefully this has aided you in getting Tarnish-RSPSi up and going.
For a bit of a run down on how it all works you can search Youtube for guides on how to use RSPSI.
 
  • Like
Reactions: Jire
If you are stuck waiting for it to initialize SwifFUP, you probably havent got SwiftFUP or it isnt configured properly.

- Download SwiftFUP from Jire's Github here:


- Once you have that Downloaded go ahead and open it in IntelliJ. (Have Tarnish server and client in 1 window and SwiftFUP in another window)

- You are going to need to copy your Tarnish cache folder (Tarnish\game-server\data\cache) to the SwiftFUP server folder.(Place it in SwiftFUP\server so that you now have SwiftFUP/server/cache).

- Build and run using Gradle.

Usually Ill start up the server and SwiftFUP and then when both have loaded I'll start up the Client.
Hope this helps!
 
  • Like
Reactions: W1llg4m3r
If you are stuck waiting for it to initialize SwifFUP, you probably havent got SwiftFUP or it isnt configured properly.

- Download SwiftFUP from Jire's Github here:


- Once you have that Downloaded go ahead and open it in IntelliJ. (Have Tarnish server and client in 1 window and SwiftFUP in another window)

- You are going to need to copy your Tarnish cache folder (Tarnish\game-server\data\cache) to the SwiftFUP server folder.(Place it in SwiftFUP\server so that you now have SwiftFUP/server/cache).

- Build and run using Gradle.

Usually Ill start up the server and SwiftFUP and then when both have loaded I'll start up the Client.
Hope this helps!
tyy fixed it
 
  • Like
Reactions: HazeDev
Pretty cool. I have an Offline RSPS but it is a little buggy. More simplified and basically required no building. Project Insanity I think It's called? Will post links for anyone wanting to check that out. Anyways, I'd love to get on this. Maybe someone could make a YouTube video like going through the building process correctly. Again. Would be really cool. I know myself am definitely a more visual learner. If done make sure to post a link.

 
Last edited:
  • Like
Reactions: HazeDev
Pretty cool. I have an Offline RSPS but it is a little buggy. More simplified and basically required no building. Project Insanity I think It's called? Will post links for anyone wanting to check that out. Anyways, I'd love to get on this. Maybe someone could make a YouTube video like going through the building process correctly. Again. Would be really cool. I know myself am definitely a more visual learner. If done make sure to post a link.

I'll give this a quick download and see what I can make of it for you. But looking at the files looks like this will be ran through Eclipse IDE

I'll send you a message with any further info to keep this Tarnish thread post about Tarnish.

This question should probably be put in another thread as this topic we are currently talking about is for a different RSPS
 
tyy fixed it
Glad that worked for you!
If you have any issues or need help to work out basic things like recoloring of items to create new items, changing npc shop data, spawning in NPC's, changing starter kit etc or things like cache dumping/viewing etc send me a message and I can give you a little help!
I'll probably eventually create a guide for newer users to gain some understanding of how to setup, run and make edits to this wonderful RSPS!
 
  • Like
Reactions: W1llg4m3r
Glad that worked for you!
If you have any issues or need help to work out basic things like recoloring of items to create new items, changing npc shop data, spawning in NPC's, changing starter kit etc or things like cache dumping/viewing etc send me a message and I can give you a little help!
I'll probably eventually create a guide for newer users to gain some understanding of how to setup, run and make edits to this wonderful RSPS!
whats your discord i need help updating cache to rev 225 or mayb 230, if u can help me out with that
 
Looking for a bit of assistance on where I could change the way npc and object interaction works, currently when interacting with objects or npcs, there's a slight delay before the player even runs towards said object or npc, it doesn't seem to happen on the previous release of tarnish and I've been trying to compare movement classes and pathfinding classes so far with no luck.
 
  • Like
Reactions: Jire
Looking for a bit of assistance on where I could change the way npc and object interaction works, currently when interacting with objects or npcs, there's a slight delay before the player even runs towards said object or npc, it doesn't seem to happen on the previous release of tarnish and I've been trying to compare movement classes and pathfinding classes so far with no luck.
Hey, pushed the fix for this.

For the curious: This release is based off a newer version of Tarnish, whereas Settings published version is much older and has enormous core issues present where the server will crash, is easily taken offline by packet spam bots, etc.

In this release, these issues are fixed.

Regarding the issue, it was because the new TaskManager didn't support the instant flag for Tasks -- now it is supported and interactions are working as intended.
 
  • Like
Reactions: Secrets and Nyte
I had an idea pop in my head, and I am trying to materialize it through brute force starting from 0 knowledge and I chose to use this base as it provides a lot of content for me to work with.

I don't really know what I'm doing, but I was wondering if someone could help me.
I am interested in recoloring items, and to do that, for the server, I defined 3 files in items-json, the placeholder, noted, and item itself. I added the item itself and noted item into item_definitions.json, and then I added the actual recoloring of an existing item into the itemdefinition.java.

When I launch the fileserver, client and server, everything seems to work perfectly. It's just whenever I log in and spawn the item. The client freezes, and it persists when I restart the client. I ultimately fix it by removing it from my inventory. I'm getting this error:
java.lang.ArrayIndexOutOfBoundsException: Index 28790 out of bounds for length 28790

I will add that I did adjust the item definition limit to be like 33000, so I thought that would solve this issue, but it's most likely a client side issue and not a server side issue.
case 28790:
final var rpb = ItemDefinition.lookup(1127);
itemDef.name = "Recolored Rune platebody";
itemDef.inventoryModel = rpb.inventoryModel;
itemDef.maleWield = rpb.maleWield;
itemDef.maleWield2 = rpb.maleWield2;
itemDef.femaleWield = rpb.femaleWield;
itemDef.femaleWield2 = rpb.femaleWield2;
itemDef.modelZoom = rpb.modelZoom;
itemDef.modelRotationX = rpb.modelRotationX;
itemDef.modelRotationY = rpb.modelRotationY;
itemDef.modelOffset1 = 0;
itemDef.modelOffset2 = 0;
itemDef.itemActions = new String[5];
itemDef.itemActions[1] = "Wear";
itemDef.itemActions[4] = "Drop";
itemDef.recolorTo = new short[]{(short)62207, 0};
itemDef.recolorFrom = new short[]{75, 57};
break;
}

Another personal issue of mine is finding the right number to color items. I used @rebecca 's model editor to attempt to get a hex code from the colors provided. I believe 75, 57 is the color of the base model every platebody uses, but whenever I'm given a huge number color code it presents an error in Intellij, and tells me to put (short) in the number. Which gets rid of the error. I'm not sure if im doing this right tbh.. I saw there were negative values in the itemdefinitions.java recolors for other items, so I think I might be doing it incorrectly. https://rune-server.org/threads/rs2-color-picker-for-recolors.666477/ I've been using this to convert exact hex codes into the number I need. For secretive reasons I don't want to reveal at the moment, these colors numbers need to be exact, and colors already found in game in other items. My issue is finding a way to get those colors from a specific item, so I can recolor this platebody to that specific color.

Sorry, I probably could've written this post shorter, I just want to provide context incase it may spark some advice or ideas on how I could achieve this.

To sum it up, is there a way I can increase the item definition limit for the client to support recolors and not adding anything to the cache. I saw Jire made something called RuneColor but I am quite dumb and don't really know how to actually use it, but it looks like it might be handy.

I'm quite disheveled at the moment so I'm sorry if this is incoherent. I probably shouldn't be dabbling in this kind of stuff but for some reason I can't let this idea of mine get out of my head.
 
Hey, pushed the fix for this.

For the curious: This release is based off a newer version of Tarnish, whereas Settings published version is much older and has enormous core issues present where the server will crash, is easily taken offline by packet spam bots, etc.

In this release, these issues are fixed.

Regarding the issue, it was because the new TaskManager didn't support the instant flag for Tasks -- now it is supported and interactions are working as intended.
Could you also possibly provide an explanation on how exactly the cache packing works here? Say I wanted to edit sprites for example.
 
Need a bit of help with this if anyone is free on here or discord?

Got everything setup - server running perfect - client running perfect and can also use rspsi (literally just to get rid of damn tree since it isn't in global_objects)

I delete the object in RSPSI but what tool is packed to repackage the cache?

Any help from you legends is really appreciated <3
 
Hey, doing some server-sided work for someone that's using this source and they asked of me to look into something that was off-task. It involves Pest Control being stuck on loading and there's nothing being sent to output window. Do you have any idea if it's lost xteas or something that's causing this? As soon as the player attempts to walk out of boat in Pest Control and towards a portal, that's where the map gets stuck with loading attempts.
 

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