Blockland Forums > Modification Help

[DLL] Tick Rate Modding Experiment (updated)

(1/3) > >>

CompMix:
Yesterday I wanted to see if it was possible to patch Blockland and enable variable tick rates as would be allowed if you had the source. Here I am now with a working DLL! I've tested 62.5 tps and 125 tps so far, and I'm currently hosting a server for those interested in experimenting with me. You will need to run this on your client in order to play properly, although interestingly clients without the DLL can still join. Attached is the source for the DLL. If you want you can add me on my discord (in my profile) for a build.

This is a special DLL! It needs to run before engine classes are registered with the console. So it won't work with Port's BlocklandLoader. Use Stud_PE to open Blockland.exe, go to the functions tab, right click the list in the "Imported Functions" box and select the DLL and the export "hello." This will add it to Blockland's imports and cause it to load before the main thread gets a chance to do anything. Make sure the DLL is also in the same directory as the exe. You can also do this on Port's modified exe to retain DLLs you already have.

(also, if you want to revert/remove the DLL to play on other servers, you'll have to undo what you did in StudPE.. or recompile for regular ~32tps. Back up your exe!)

Update for version two:
- Fixed projectile lifetime/armingDelay/fadeDelay range limits
- Added patch for max packet rate clamp

Note: $Pref::Net::PacketRateTo* variables are clamped both in the engine and in the dsos. So you'll have to re-set these variables after your server or client is done executing default scripts!! Can't say I didn't warn ya!

Apparently the player collision issues aren't bugs, it's just a side effect of how higher tick rate collision calculation works. This version should be complete, then! Enjoy!

Conan:
could you outline the benefits of higher tick rate for those who dont know what this means? off the top of my head i can think of these as benefits:
[x]faster and more accurate position updates for things like vehicles and players
[x]slightly more accurate collision updates
[x]for challenge servers, more accuracy and smaller spacing in recorded time values
[x]can support more vehicles/bots in the update loop - ports/pahs superghost for bots but for everything.
[x]as an extension of the above, ghosting is faster

also i suspect the reason that normal clients can still join is that ts is able to run on various packet input rates. port described the situation with ts being "it'll update as fast as it receives packets" even though it only normally sends at 30 packets/sec. its how superghost for bots works - it just ups the packet rate on the server so that everyone can get updates for more than 50 bots/players that are moving, at the cost of increased bandwidth usage from the server.

PhantOS:
Wait so does this also raise the packet send/receive rate so that the tick rate's data can all be sent? Or do people need another dll for that

Mr.Noßody:

--- Quote from: Conan on May 12, 2019, 12:27:07 PM ---[x]can support more vehicles/bots in the update loop - ports/pahs superghost for bots but for everything.

--- End quote ---

I want to know the specifics on this

Conan:

--- Quote from: Mr.Noßody on May 12, 2019, 09:55:30 PM ---I want to know the specifics on this

--- End quote ---
https://forum.blockland.us/index.php?topic=317234.0

Navigation

[0] Message Index

[#] Next page

Go to full version