Teh Custom Base Ticks

Teh Custom Base Ticks

918 Downloads

Disclaimer: As with any mod, please backup your world before using this mod! While you technically should be able to revert any changes done by this mod by changing the intervals back to normal, never take that risk! This mod is still in its early stages and may have unforeseen bugs.

Hi! This super simple Lua script allows you to set your base tick intervals for when you're outside of the base. This allows you to keep workers "smart" when you're further away (among other things), at the cost of performance. Being able to use this adequately requires a bit of knowledge on how significance intervals work, so here goes:

  • The basic idea is that a base tracks how far the closest player is to the base at any given time.
  • The further the closest player is, the more it increases the TickInterval to save on performance cost.
  • This tick interval is used for things like the WorkerDirector which assigns tasks to workers on every base tick.
  • If the tick interval is greater, that means more time in between the director assigning tasks, which results in your workers being like "proactive" with tasks.
  • This is why tasks like transporting items seems to stack up while you're not at base -- Each transport task is handed out one by one and if you're more than 6k units from base, they're only being handed out once every 10 seconds by default. 
  • So increasing the DistanceInRangeFromPlayer means that your workers work smarter up until you're really far from the base, and decreasing TickInterval means the are smarter even when you are far from the base.
  • Getting the best result from this is a matter of playing with those two variables while weighing performance impact at the same time.
  • If you just want them to be a bit smarter most the time, you can use the generic overrides provided in the mod config.


Okay, so now that you maybe kinda understand what this is doing, we can get back to the regularly scheduled programming.



Compatibility:

  • This mod should be compatible with both local play and dedicated servers, and the host is the only one who needs to have the mod installed. 
  • That said, it is relatively untested and it could have far-reaching effects on base operations.
  • This mod should still be compatible with any other mod that changes base settings unless they also change significance intervals in memory (which afaik none do atm)

Important Note: If you use another mod to increase the base size (like my Extra Base Area Mod) that does NOT increase the distance that DistanceInRangeFromPlayer starts from. It always starts from the edge of the base ring!

Install (Singleplayer/Coop):

  • Download the mod
  • Download the latest version of UE4SS XInput
  • Extract the UE4SS folder contents into Palworld/Pal/Binaries/Win64
  • Launch the game once and then close it (not sure if this is necessary, I forget)
  • Extract this mods' zip into your Palworld/Pal/Binaries/Win64/Mods folder
  • Edit the SignificanceIntervals in TehCBTMod/Scripts/config.lua
  • That's it!

Important Note: You must be the host of the game for the script to work correctly! This will not work if you are not the host, and any of your friends playing with you do not need to also install the script. 



Install (Dedicated Server):

  • Download the mod
  • You must use PalWorld-ServerInjector to inject UE4SS into the server process. Set it up according to the GitHub readme.
  • Extract the zip into your /Mods folder
  • Start your server with PalServerInject.exe
  • Edit the SignificanceIntervals in TehCBTMod/Scripts/config.lua
  • That's it! 

Important Note: Your players do not need to install this mod for use on a dedicated server!

Known Issues:

  • There could be significant performance impacts if you set these values too low on a server with many bases. I have not been able to test it in such environments.