Majority of the lag is usually depending on memory management, primarily on how many details are rendered and the script’s “cost” in memory. Certain scripting patterns are notorious for its bad memory usage. If you can find those scripts and present them here, we might be able to tell what exactly is causing this issue.
Hi. I did jump in to the game and as you say, massive lag. Frame rates went any where from 14 to 100+. I saw in another post that you had this:
That is a lot of parts. You seem to have discounted streaming enabled due to the issues you have experienced so try and look elsewhere to optimise.
With the amount of parts/meshes you could start by ensuring all are anchored, and where possible, turn CanCollide and CanTouch off. Simple things like that can help both server and client side as they reduce the physics load. Your choice of tree probably doesn’t help as they are transparent textures, remove them temporarily and see if that makes any difference to load. If it does, look at an alternative.
When you run microprofiler, are you seeing spikes in load from scripts?
It may be that you will need to make multiple tweaks to different parts of the game, with each one giving a slight improvement, but combined together may help.
Look at microprofiler, and the script, get a baseline of performance and then start to test your tweaks to the overall game.