Jump to content

We are have very big lag spikes.

Closed 3.0.5

Mathew Richards
nivex

Posted

Heya,

First, they need to reduce paste batch size in the CopyPaste file from 15 to 1. There is no reason that 15 should be the default.

If the server lags when the bases spawn or despawn then,

  • limit the number of plugins they're using,
  • limit the number of bases they're spawning,
  • limit the sizes of the bases they're trying to spawn,
  • reduce the entities on their server (300k+ is too much for modded),
  • upgrade to better hardware
  • restart daily to avoid server degradation issues - DO NOT RELY ON MEMORY OR CPU USAGE TO DETERMINE SEVER DEGRADATION!
  • lastly, it could be failing hardware in which case you need to check with your host and ensure they follow up accordingly.

Everything runs at the bare minimum for despawning already. 

It is clear that AI was used to analyze the code, and it has done a very poor job with the remarks in the provided message file. Many of the comments misunderstand the plugin’s low-level functionality. Implementing such changes would severely impact that, breaking critical method logic and cross-method integrations. So I have to correct each point—something that’s both frustrating and time-consuming. I will not respond further to this afterwards.

**1. MASSIVE GRID GENERATION

  • This is called one-time when the server starts, or when the plugin reloads. Neither of which are an issue.
  • Yield times are sufficient, spreading the load out across several minutes, reducing the impact it has on performance. Increasing them would serve no purpose other than to delay how long it takes anyone to reload the plugin.
  • Changing CELL_SIZE would break the cluster logic of potential spawn points. This shows a gross misunderstanding of how CELL_SIZE relates to the code as a whole. Such changes will break the plugin on maps which are starved of good terrain to begin with.
  • I am not going to impose any limits. Use Spawns Database!

**2. FREQUENT COROUTINE EXECUTION

  • Nonsense. This is fine, and is a requirement. Without this, the plugin cannot function, it must use these to find positions for bases to spawn at.
  • 0.1 is sufficient enough yield time already, increasing it would provide no benefit.

**3. ELEVATOR UI SPAM

  • This runs once per second, and will not be increased to 5 seconds. That is way too long, and serves no benefit to be increased.
  • Checks are done within a 3 meter radius which is highly efficient.
  • Using a cached dictionary of players to boot.

**4. BROADCAST MESSAGES TO ALL PLAYERS

  • No, there is no issue with the plugin messaging all players on the server.
  • This is OPTIONAL already.

**5. CONTINUOUS AUTOMATED SPAWNING

  • Say it ain't so. Better throw in the towel and paste them in manually then.

**6. PHYSICS RAYCASTS IN ELEVATORS

  • This is not used frequently enough to be expensive, and no one uses "many" elevators in their bases, let alone across multiple bases simultaneously.

RECOMMENDED OPTIMIZATIONS: All suggested optimizations are either already implemented, unnecessary, or based on incorrect assumptions.

Memory management issues: Allocations are minimal as nearly everything is pooled. Oxide’s memory reporting is notoriously inaccurate; if precise metrics are critical, use Carbon, which provides more reliable memory data. This is no fault of Oxide, or the Oxide team. Bugs exist, and some times they're ridiculously difficult to track down and we do not always have the time to waste on such meaningless tasks.

High hook times (my response): I don’t dispute the hook times. This plugin is intentionally large and delivers extensive functionality, which inherently requires many hooks and significant processing. That overhead is a direct result of its scope and cannot be reduced without stripping core features.

Immediate action items: These are the only points that I agree with.

 

nivex

Posted

Again, so it's not missed:

Quote

First, they need to reduce paste batch size in the CopyPaste file from 15 to 1. There is no reason that 15 should be the default.

If the server lags when the bases spawn or despawn then,

  • limit the number of plugins they're using,
  • limit the number of bases they're spawning,
  • limit the sizes of the bases they're trying to spawn,
  • reduce the entities on their server (300k+ is too much for modded),
  • upgrade to better hardware
  • restart daily to avoid server degradation issues - DO NOT RELY ON MEMORY OR CPU USAGE TO DETERMINE SEVER DEGRADATION!
  • lastly, it could be failing hardware in which case you need to check with your host and ensure they follow up accordingly.

A couple more points

  • You should use fewer NPCs as well. No more than 2-3 per base. Increase their health and damage, give them good kits, give them crazy accuracy.  A few good NPCs will make a very challenging base.
  • Some hardware should not be used for a Rust server, and loading plugins like this one will push it over the edge. It's time to upgrade when it's clearly a crap shoot.
  • Some hosts have way too many servers on a single machine too. 

I could elaborate further, but there’s little value in continuing the discussion at this point. By now, this often devolves into debate, and I won’t engage in that. I’ve provided thorough, detailed responses, and it’s now your responsibility to review and act on them as needed. I've done my part. I take server performance very seriously and work closely with server owners to continually improve my plugins. Thanks to their contributions and feedback, any significant issues are identified and resolved in a timely manner. If there's an issue then you best believe we'll sort it out.

Thank you for your understanding. This thread is now closed.

  • Like 1
nivex

Posted

Changed Status from Pending to Closed

Mathew Richards

Posted

I love the product, i'm just dumb and trying to work out, what i'm doing wrong. 

 

  • Like 1
nivex

Posted

Hi, here is the advice in more detail.

First, they need to reduce paste batch size in the CopyPaste config file from 15 to 1. There is no reason that 15 should be the default.

oxide/config/CopyPaste.json:

"Amount of entities to paste per batch. Use to tweak performance impact of pasting": 1,

 Reduce the batches in your profiles, oxide/data/RaidableBases/Profiles/

    "Amount Of Entities To Spawn Per Batch": 1,
    "Amount Of Entities To Despawn Per Batch": 1,
  • limit the number of plugins: too many will push the server past its limit, and every server has a limit!
  • limit the number of bases; auto spawn 1 easy, 1 medium and 1 hard. let players buy the rest. increase the default inactive despawn time of 45 minutes to something more fitting for your servers specific needs.
  • limit the sizes of the bases; delete any copypaste files over 3mb. most files should be under 1mb — a few up to 2mb is fine, but keep it minimal. do not use copypaste which have too many io entities! anyone who does otherwise does so at their own risk. know your limits.
  • reduce entity count on the server; the higher the entity count, the more load on the server, and the quicker it will hit its limit. plugins such as LimitEntities or AutoPurge can help with this
  • upgrade to better hardware; increase your RAM (at bare minimum 16GB), or pick a better machine. 
  • restart daily to avoid server degradation issues - DO NOT RELY ON MEMORY OR CPU USAGE TO DETERMINE SERVER DEGRADATION! 
  • Use fewer NPCs. No more than 2-3 per base. Increase health, damage, accuracy and use better kits.  A few good NPCs will prove challenging enough.
  • Some hardware should not be used for a Rust server, and loading plugins like this one will push it over the edge; if it's under 16GB RAM then it's a crap shoot.
  • Some hosts have way too many servers on shared machines; ensure your host does not exceed a reasonable limit
  • lastly, it could be failing hardware in which case you need to check with your host and ensure they follow up accordingly; I've seen this quite often as of recent months

Rarely is the issue with the plugin itself, where I am quickly notified by high pop servers about any noticeable change in performance from wipe to wipe. I watch this closely, and take it very seriously, to ensure a high quality plugin that your players can enjoy.

1.9m

Downloads

Total number of downloads.

8.8k

Customers

Total customers served.

130.7k

Files Sold

Total number of files sold.

2.7m

Payments Processed

Total payments processed.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.