OpenModularTurretsTeam / OpenModularTurrets

Repo for OpenModularTurrets.
https://minecraft.curseforge.com/projects/openmodularturrets
Other
51 stars 35 forks source link

Lag spikes of death #422

Closed Knito58 closed 6 years ago

Knito58 commented 6 years ago

MC 1.12.2, Forge 14.23.3.2698, OMT 3.0.0-248, omlib 3.0.0-35

I had some lag spikes every minute when the system hang for about 5 seconds. I assumed that had something to do with OMT. I have 3 tier 5 lasers with damage upgrade and 5 tier 1 disposable item turrets.

All of them were then set to "always off" to see if that would better the situation. After that the world was unplayable. The lag spikes happened every second for seconds and the game screen occassionally turned to white (wind owes ten). The world was unplayable.

Heavy heartedly I dismissed OMT from the mods folder (renamed it to .jar.txt) and started over. The world is playable again. There is still some minor lag from time to time which I blame to some mods like waterfree farming, refined storage and reborn storage and all of the farms I made. But it is just a short moment of hesitating and the game continues instantly.

The lag spikes of death are gone.

I will follow the mod updates on curseforge and reinstall it when the change notes tell me something about successfully eliminated lag spikes.

Keep your heads high and keep up the good work!

Keridos commented 6 years ago

Gonna test that. I am fairly confused though, played with the turrets on my own server and several other people and we did not have any issues like that.

Knito58 commented 6 years ago

I wish you the best of luck in fixing this because I want those turrets back. My pirate ship is nothing without that guns that shoot the beasts outside the base.

Keridos commented 6 years ago

Well, I might need a bit more information on how these lag spikes are happening. The info you gave me really is not much regarding the timing and other probably causes. I had a single laser turret in my past world and it did not have any impact on performance.

Knito58 commented 6 years ago

I had some lag which froze the game for some seconds and this happened about every 30-60 seconds. This only was the case after my procject "make and hug the turrets" had started. The real lag spikes happened after turning off all of the turret bases. After leaving the chunk where the turrets were in the lag started. I could not get back to turn them on again because of white screens and freezing. I really tried but did not move more than 1 block in 10 minutes. I also need to report that I update all of the mods on a daily schedule.

For sure you wanna see the Modlist:

[1.12]UncraftingTable-1.8-beta6.jar ActuallyAdditions-1.12.2-r135.jar ActuallyBaubles-1.12-1.1.jar advInv-1.12.1-1.4.2.jar angelRingToBauble-1.12-0.3.1.50+d4e654e.jar AoV-1.12-0.8.12.jar Aroma1997Core-1.12.2-2.0.0.0.b150.jar Aroma1997s-Dimensional-World-1.12.2-2.0.0.2.b69.jar AromaBackup-1.12.2-2.1.1.3.b100.jar AutomatedRedstone-1.12.2-6.1.3.jar backpacks 1.12.2 - 3.5.2.jar Baubles-1.12-1.5.2.jar bdlib-1.14.3.12-mc1.12.2.jar BetterBuildersWands-1.12-0.11.1.245+69d0d70.jar Bookshelf-1.12.2-2.3.544.jar CD4017BE_lib-1.12.2-6.2.4.jar ChestTransporter-1.12.2-2.8.8.jar ChickenASM-1.12-1.0.2.7.jar ChickenChunks-1.12.2-2.4.1.71-universal.jar Chisel-MC1.12.2-0.2.0.31.jar CodeChickenLib-1.12.2-3.1.8.341-universal.jar Controlling-3.0.6.jar Croparia-1.17.jar crosshairmod-v0.8.2-forge-mc1.12.jar CTM-MC1.12-0.2.3.12.jar customstuff4-1.12.2-0.5.2.jar cxlibrary-1.12.1-1.6.1.jar CyclopsCore-1.12.2-0.11.6.jar DarkUtils-1.12.2-1.8.210.jar DoomlikeDungeons-1.11.1-MC1.12.2.jar ElevatorMod-1.12.2-1.3.6.jar EnderCore-1.12.2-0.5.22.jar EnderIO-1.12.2-5.0.24.jar EnderStorage-1.12.2-2.4.2.126-universal.jar EngineersWorkshopReborn-1.12.2-1.0.7.35.jar EverlastingAbilities-1.12.2-1.3.16.jar Exchangers-1.12.2-2.7.2.jar ExCompressum_1.12.2-3.0.20.jar exnihilocreatio-1.12-0.2.2.jar extraalchemy-0.3.8.4-release.jar extrautils2-1.12-1.7.5.jar fluxnetworks-1.12.2-3.0.8.jar ForgeMultipart-1.12.2-2.4.2.58-universal.jar furnus-1.12.2-2.1.5.jar generators-0.9.20.12-mc1.12.2.jar GiacomosFishingNet-1.12.2-1.6.1.jar GiacomosFoundry-1.12.2-1.3.13.jar GravelMiner_1.12.1-6.1.2.jar gravestone-1.10.1.jar hopperducts-mc1.12-1.5.jar InductiveLogistics-1.12.2-1.2.2.jar inventorypets-1.12-1.4.9.9b.jar InventoryTweaks-1.64-dev.jar ironchest-1.12.2-7.0.42.827.jar iskalliumreactors-1.12.2-0.5.16.jar jei_1.12.2-4.9.1.189.jar jeiintegration_1.12.2-1.5.1.36.jar JustEnoughResources-1.12.2-0.8.7.41.jar LaserLevel-1.12.2-2.1.0.19-universal.jar leafdecay-1.0.0.2-mc1.12.2.jar limelib-1.12.2-1.7.10.jar llibrary-1.7.11-1.12.2.jar LLOverlayReloaded-1.1.6-mc1.12.2.jar lostcities-1.12-2.0.7.jar LunatriusCore-1.12.2-1.2.0.42-universal.jar malisiscore-1.12.2-6.4.0.jar malisisdoors-1.12.2-7.3.0.jar malisisswitches-1.12.2-5.1.0.jar mcjtylib-1.12-2.6.7.jar MCMultiPart-2.5.1.jar MinersAdvantage-1.12.2-1.3.15.192.jar MobGrindingUtils-0.3.6.jar ModernLights-1.0.3_1.12.jar MoreFurnaces-1.12.2-1.10.4.jar MrTJPCore-1.12.2-2.1.1.27-universal.jar NaturesCompass-1.12.2-1.5.1.jar Neat 1.4-15.jar nomoreglowingpots-1.0.jar NoMoreRecipeConflict-0.9(1.12).jar notenoughwands-1.12-1.6.1.jar omlib-1.12.2-3.0.0-143.jar ompd-1.12.2-3.0.0-35.jar OptiFine_1.12.2_HD_U_D2.jar Placebo-1.12.2-1.3.4.jar playerstorage-1.12.2-1.2.10.jar practicallogistics2-1.12.2-3.0.3.jar pressure-1.3.1.9-mc1.12.2.jar ProjectRed-1.12.2-4.8.6.66-lighting.jar ProjectRed-1.12.2-4.8.6.74-Base.jar ProjectRed-1.12.2-4.8.6.74-fabrication.jar ProjectRed-1.12.2-4.8.6.74-integration.jar ProjectRed-1.12.2-4.8.6.74-mechanical.jar RandomThings-MC1.12.2-4.1.6.jar RebornCore-1.12.2-3.8.3.279-universal.jar RebornStorage-1.12.2-3.1.0.50.jar reconstructor-2.11a.jar RedstoneFlux-1.12-2.0.1.2-universal.jar RefinedRelocation_1.12.2-4.2.23.jar refinedstorage-1.5.34.jar refinedstorageaddons-0.3.jar Repurpose-1.0.0.19.jar rftools-1.12-7.33.jar rftoolsctrl-1.12-1.8.1.jar rftoolsdim-1.12-5.53.jar Ruins-1.12.2.jar Scannable-MC1.12-1.6.3.17.jar Schematica-1.12.2-1.8.0.169-universal.jar sensorcraft-1.12.2-0.6.2.jar sonarcore-1.12.2-5.0.9.jar TamModized-1.12.1-0.15.5.jar Thaumcraft-1.12.2-6.1.BETA13.jar theoneprobe-1.12-1.4.22.jar tinyreactors-1.12.2-1.0.9-HOTFIX-SNAPSHOT.jar topaddons-1.12-0.15.0.jar torchmaster_1.12.2-1.6.4.62.jar transprot-1.12.2-1.5.2.jar TrashSlot_1.12.1-8.4.6.jar VTweaks-1.12.2-1.4.12b.jar waterfreefarming-2.0.5.jar Waystones_1.12.2-4.0.43.jar Wither+Skeleton+Tweaks-1.12.2-2.6.0.jar WTS-1.1.0.jar Xaeros_Minimap_1.14.9.1_Forge_1.12.jar XaerosWorldMap_1.2.3_Forge_1.12.jar xnet-1.12-1.6.9.jar

Forge version is 14.23.3.2698 atm.

Open modular Turrets is missing atm, sorry. Am I the only one to report such behaviour? You could say: "If it's only one, it's none." and ignore this report.

Without OMT its not perfectly lag free but playable with only some hesitating moments which I only do remark because now I'm super sensitive.

Knito58 commented 6 years ago

The pirate ship contained a "private" xnet system and an iskallium generator and a cobble generator (lava + water + blockbreaker). It was self-sustaining and separated from the rest of my installations. The xnet system shuts the blockbreaker off when the chest is full - else the blockbreaker would stop when its internal 3x3 grid was filled up. But I like to switch things myself. First I only had 8 disposal item turrets which were fed with cobble and powered by xnet. Then I replaced 3 of them with lasers. And then the lag started, but not instantly. It was like slowly approaching and testing me. The world ran fine for some MC-days and then the lag started. I believe it has something to do with the upgrades it fed in and removed. I only had the damage upgrade on the lasers when the lags started.

The pirate ship is and "End City Ship". The stones are brought in from the End and the design was captured in the end with Schematica (in the mod list). Of course I do not destroy the pirat ship in the end city. I take some buildings down and then I have the blocks I need. The ship gives a dragon head and an elytra, though. And with the "printing" option of schematica the ship is reconstructed in the overworld in no time.

Ship without turrets

Keridos commented 6 years ago

Yeah that was quite a bit more info. Since you used disposable turrets it might be something about the projectiles not despawning.

Knito58 commented 6 years ago

ooops. I didn't think about that. I could not collect the floating cobbles and thought the mod would take care of it by itself. I forgot about that.

As it are "disposable items" I believe that nobody wants them back after firing them. You have either a cobble generator or a tree farm. They don't need the 5 min default despawn time imho.

Keridos commented 6 years ago

Can you try this version here: https://jenkins.ironhide.de/job/minecraft-mods/job/OpenModularTurrets-1.12/255/ along with this https://jenkins.ironhide.de/job/minecraft-mods/job/OMLib-1.12/149/

Keridos commented 6 years ago

It should set the time for despawning of the disposables shots to 3 seconds

Knito58 commented 6 years ago

Yes I'll download and install it right now.

Knito58 commented 6 years ago

Oooops - the old world with the priate ship does not work anymore. Many blocks that function in the new world now do fake actions. Like the AA blockbreaker: The block breaking animation is done on the block's surface and after that it stays put. The block breaker works well in my new world - weird. The new world still has no significant energy supply. I was to the END and brought some blocks with me to make a quantum quarry but still have not build any reactor for it. This will take some time until I can test the lasers in a survival world.

I'll do a little setup in a creative world and install a shooting zone and switch to survival then.

Knito58 commented 6 years ago

In a creative world I surrounded an iskallium reactor with 8 disposable turrets. On the tower are 4 lasers, each with 4xDamageBoost, 1xRecycler, 4xEfficiency and 4xFireRate. The disposables are fed from 2 long range block breakers on 2 cobble generators (lava + water). The generator gives 9600 RF/t. The feeding system for power and cobbles is XNet.

Now there's lag! There are no lingering drops because with MinersAdvantage everything in a 16 block range is sucked in. The disposables do not linger on the floor anymore. This seems to be fixed.

I switched all of the bases off again but the game was still playable - with a lot of lags and some white screens. The act of switching bases on or off seems not to worse or better things.

The longer I play the world, the more often and longer it hangs. I fly around the base to force the game to "think" and it does a lot of "thinking". It just lags.

Keridos commented 6 years ago

Hm, weird, gonna try to reproduce that.

Keridos commented 6 years ago

Did you try to set the config option for mob loot from lasers to false? You should still be able to get drops with the fake drops addon.

/update: I am testing a single player world with a lot of mobspawners from enderio. I will let this run for a few hours and see if it lags for me.

/update 2: after several hours of testing (and a few restarts due to some tweaking it is running fine for me. Maybe you either need to give your server more ram, or sometimes restart it. Personally we have a modpack where cursed earth from Extra Utilities stops spawning gradually when the server is not restarted regularly (currently we restart every 12 hours).

Knito58 commented 6 years ago

Maybe some memory leak. Maybe one of that mods on my modlist. Maybe it has nothing to do with modular turrets. But I do suffer that lags when I put the turret mod active. Something is wrong. I'm sorry for pointing at your mod. I really like it and want it to work. I can play without lag when OMT is disabled. I update my mods daily. I'll put OMT in from time to time to see if something has changed.

There's still a chance for my new pirate ship to have decent cannons. And that will be OMT lasers!

If you have to restart the server on a regular time schedule then there's some memory leak in one of the mods or some other running program. This should not be the solution. But I know that I would do the same. Atm we are helpless as you can only check the code of OMT and OMlib. That's why I will just sit and wait and test OMT from time to time.

Greetings, Konitor

Keridos commented 6 years ago

I can see that is spams the heap with things that we use. But I crosschecked every method we use for targeting. And I did not find anything that might explain a memory leak. GC should take care of everything.