So ...
I wrote all the scripts on this server from scratch. Current script is about 4000 lines now. Not interested in releasing because I know I'll just get hounded to update it, add features, support something, help someone use it / modify it etc. Plus it gives our server something unique.
I've spent a lot of time and effort going through and optimising every part of the script to absolutely minimise the amount of lag that is script based.
Anyway, as infused mentioned, most scripts are horribly inefficient. They might be OK on their own, but no way near the level I'm happy with. I avoid writing to files. Put everything into my own datastore which is a table in Oxide and wrote an API to read / write / remove / loop through things. This API also saves the data periodically using timers so file IO is minimised.
My cleanup scripts know how long people have been on the server, if they have a base or sleeping bag, if they just joined to go into our arena then logged out etc. My scripts also manage all the base sharing and door sharing. With all that in mind, I can run a cleanup operation that kills off any inactive players, gives me a list to delete the files off the server etc. You can use timers to ensure cleanup operations only happen when there are no players on the server too and to stop them when players join.
Right now, we've been running for over 2 months, have roughly 100 current players running at about 15 - 20 per night at any given time and the server is not laggy at all.
Oh and decay is disabled .. at least for now. Have enabled it once over the 2 month period but didn't give me the desired outcome.
Well thanks for the insight at least. I'm on a multiplay server so hacking up all the plugins won't do me any good since they won't accept them unless I'm a plugin dev. Not to mention I wasn't interested in doing the plugin development knowing that so much is gonna change with Experimental anyways. I was mainly looking for some simpler solutions to keep my Legacy server going for the meantime. The players are content with the current setup. We reboot every day (can only change the files and reload, nothing running to clean up whats in memory). So far cleaning up the Oxmin players, the L.E.S. players, and Auto Admin/etc takes care of the worst of our lag as long as we reboot before the mem gets too high. If I could just clean up whats in memory we'd probably be running for months on end too.