New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sponge kills Ingame Network Thread #416

Closed
ProsperCraft opened this Issue Mar 4, 2018 · 32 comments

Comments

Projects
None yet
5 participants
@ProsperCraft

ProsperCraft commented Mar 4, 2018

https://gist.github.com/ProsperCraft/cf949ac5f993f4f3994f96dbd5af8efa

This is happening in the console, not sure what started it.
logs.zip

@mcenderdragon

This comment has been minimized.

Show comment
Hide comment
@mcenderdragon

mcenderdragon Mar 5, 2018

Owner

Ok wow this is absoltilty not telling anybody what happened. I should print the stacktrace somehwere :S

Owner

mcenderdragon commented Mar 5, 2018

Ok wow this is absoltilty not telling anybody what happened. I should print the stacktrace somehwere :S

@mcenderdragon

This comment has been minimized.

Show comment
Hide comment
@mcenderdragon

mcenderdragon Mar 5, 2018

Owner

I found the initia crash

[09:12:03] [Network-Thread/INFO] [STDERR]: [java.lang.ThreadGroup:uncaughtException:1052]: java.lang.IllegalStateException: CauseStackManager called from off main thread (current='Thread{class=class java.lang.Thread, name=Network-Thread, priority=5, group=net.minecraftforge.fml.common.thread.SidedThreadGroup[name=SERVER,maxpri=10]}', expected='Thread{class=class java.lang.Thread, name=Server thread, priority=5, group=net.minecraftforge.fml.common.thread.SidedThreadGroup[name=SERVER,maxpri=10]}')!
[09:12:03] [Network-Thread/INFO] [STDERR]: [java.lang.ThreadGroup:uncaughtException:1052]: 	at org.spongepowered.common.event.SpongeCauseStackManager.enforceMainThread(SpongeCauseStackManager.java:71)
[09:12:03] [Network-Thread/INFO] [STDERR]: [java.lang.ThreadGroup:uncaughtException:1052]: 	at org.spongepowered.common.event.SpongeCauseStackManager.getCurrentCause(SpongeCauseStackManager.java:85)
[09:12:03] [Network-Thread/INFO] [STDERR]: [java.lang.ThreadGroup:uncaughtException:1052]: 	at net.minecraft.world.chunk.Chunk.handler$onLoadReturn$zld000(Chunk.java:1893)
[09:12:03] [Network-Thread/INFO] [STDERR]: [java.lang.ThreadGroup:uncaughtException:1052]: 	at net.minecraft.world.chunk.Chunk.func_76631_c(Chunk.java:861)
[09:12:03] [Network-Thread/INFO] [STDERR]: [java.lang.ThreadGroup:uncaughtException:1052]: 	at net.minecraftforge.common.chunkio.ChunkIOProvider.syncCallback(ChunkIOProvider.java:105)
[09:12:03] [Network-Thread/INFO] [STDERR]: [java.lang.ThreadGroup:uncaughtException:1052]: 	at net.minecraftforge.common.chunkio.ChunkIOExecutor.syncChunkLoad(ChunkIOExecutor.java:94)
[09:12:03] [Network-Thread/INFO] [STDERR]: [java.lang.ThreadGroup:uncaughtException:1052]: 	at net.minecraft.world.gen.ChunkProviderServer.loadChunk(ChunkProviderServer.java:118)
[09:12:03] [Network-Thread/INFO] [STDERR]: [java.lang.ThreadGroup:uncaughtException:1052]: 	at net.minecraft.world.gen.ChunkProviderServer.func_186028_c(ChunkProviderServer.java:89)
[09:12:03] [Network-Thread/INFO] [STDERR]: [java.lang.ThreadGroup:uncaughtException:1052]: 	at net.minecraft.world.gen.ChunkProviderServer.redirect$onProvideChunkHead$zmc000(ChunkProviderServer.java:669)
[09:12:03] [Network-Thread/INFO] [STDERR]: [java.lang.ThreadGroup:uncaughtException:1052]: 	at net.minecraft.world.gen.ChunkProviderServer.func_186025_d(ChunkProviderServer.java:135)
[09:12:03] [Network-Thread/INFO] [STDERR]: [java.lang.ThreadGroup:uncaughtException:1052]: 	at net.minecraft.world.World.func_72964_e(World.java:309)
[09:12:03] [Network-Thread/INFO] [STDERR]: [java.lang.ThreadGroup:uncaughtException:1052]: 	at net.minecraft.world.World.func_175726_f(World.java:304)
[09:12:03] [Network-Thread/INFO] [STDERR]: [java.lang.ThreadGroup:uncaughtException:1052]: 	at net.minecraft.world.World.func_175625_s(World.java:5823)
[09:12:03] [Network-Thread/INFO] [STDERR]: [java.lang.ThreadGroup:uncaughtException:1052]: 	at futurepack.common.network.NetworkManager$1.isValidBlock(NetworkManager.java:33)
[09:12:03] [Network-Thread/INFO] [STDERR]: [java.lang.ThreadGroup:uncaughtException:1052]: 	at futurepack.common.FPBlockSelector.addBlock(FPBlockSelector.java:187)
[09:12:03] [Network-Thread/INFO] [STDERR]: [java.lang.ThreadGroup:uncaughtException:1052]: 	at futurepack.common.FPBlockSelector.ab(FPBlockSelector.java:153)
[09:12:03] [Network-Thread/INFO] [STDERR]: [java.lang.ThreadGroup:uncaughtException:1052]: 	at futurepack.common.FPBlockSelector.block(FPBlockSelector.java:136)
[09:12:03] [Network-Thread/INFO] [STDERR]: [java.lang.ThreadGroup:uncaughtException:1052]: 	at futurepack.common.FPBlockSelector.selectBlocks(FPBlockSelector.java:98)
[09:12:03] [Network-Thread/INFO] [STDERR]: [java.lang.ThreadGroup:uncaughtException:1052]: 	at futurepack.common.FPSelectorHelper.getSelector(FPSelectorHelper.java:64)
[09:12:03] [Network-Thread/INFO] [STDERR]: [java.lang.ThreadGroup:uncaughtException:1052]: 	at futurepack.common.network.NetworkManager.send(NetworkManager.java:92)
[09:12:03] [Network-Thread/INFO] [STDERR]: [java.lang.ThreadGroup:uncaughtException:1052]: 	at futurepack.common.network.NetworkManager.run(NetworkManager.java:164)
[09:12:03] [Network-Thread/INFO] [STDERR]: [java.lang.ThreadGroup:uncaughtException:1052]: 	at java.lang.Thread.run(Thread.java:748)
Owner

mcenderdragon commented Mar 5, 2018

I found the initia crash

[09:12:03] [Network-Thread/INFO] [STDERR]: [java.lang.ThreadGroup:uncaughtException:1052]: java.lang.IllegalStateException: CauseStackManager called from off main thread (current='Thread{class=class java.lang.Thread, name=Network-Thread, priority=5, group=net.minecraftforge.fml.common.thread.SidedThreadGroup[name=SERVER,maxpri=10]}', expected='Thread{class=class java.lang.Thread, name=Server thread, priority=5, group=net.minecraftforge.fml.common.thread.SidedThreadGroup[name=SERVER,maxpri=10]}')!
[09:12:03] [Network-Thread/INFO] [STDERR]: [java.lang.ThreadGroup:uncaughtException:1052]: 	at org.spongepowered.common.event.SpongeCauseStackManager.enforceMainThread(SpongeCauseStackManager.java:71)
[09:12:03] [Network-Thread/INFO] [STDERR]: [java.lang.ThreadGroup:uncaughtException:1052]: 	at org.spongepowered.common.event.SpongeCauseStackManager.getCurrentCause(SpongeCauseStackManager.java:85)
[09:12:03] [Network-Thread/INFO] [STDERR]: [java.lang.ThreadGroup:uncaughtException:1052]: 	at net.minecraft.world.chunk.Chunk.handler$onLoadReturn$zld000(Chunk.java:1893)
[09:12:03] [Network-Thread/INFO] [STDERR]: [java.lang.ThreadGroup:uncaughtException:1052]: 	at net.minecraft.world.chunk.Chunk.func_76631_c(Chunk.java:861)
[09:12:03] [Network-Thread/INFO] [STDERR]: [java.lang.ThreadGroup:uncaughtException:1052]: 	at net.minecraftforge.common.chunkio.ChunkIOProvider.syncCallback(ChunkIOProvider.java:105)
[09:12:03] [Network-Thread/INFO] [STDERR]: [java.lang.ThreadGroup:uncaughtException:1052]: 	at net.minecraftforge.common.chunkio.ChunkIOExecutor.syncChunkLoad(ChunkIOExecutor.java:94)
[09:12:03] [Network-Thread/INFO] [STDERR]: [java.lang.ThreadGroup:uncaughtException:1052]: 	at net.minecraft.world.gen.ChunkProviderServer.loadChunk(ChunkProviderServer.java:118)
[09:12:03] [Network-Thread/INFO] [STDERR]: [java.lang.ThreadGroup:uncaughtException:1052]: 	at net.minecraft.world.gen.ChunkProviderServer.func_186028_c(ChunkProviderServer.java:89)
[09:12:03] [Network-Thread/INFO] [STDERR]: [java.lang.ThreadGroup:uncaughtException:1052]: 	at net.minecraft.world.gen.ChunkProviderServer.redirect$onProvideChunkHead$zmc000(ChunkProviderServer.java:669)
[09:12:03] [Network-Thread/INFO] [STDERR]: [java.lang.ThreadGroup:uncaughtException:1052]: 	at net.minecraft.world.gen.ChunkProviderServer.func_186025_d(ChunkProviderServer.java:135)
[09:12:03] [Network-Thread/INFO] [STDERR]: [java.lang.ThreadGroup:uncaughtException:1052]: 	at net.minecraft.world.World.func_72964_e(World.java:309)
[09:12:03] [Network-Thread/INFO] [STDERR]: [java.lang.ThreadGroup:uncaughtException:1052]: 	at net.minecraft.world.World.func_175726_f(World.java:304)
[09:12:03] [Network-Thread/INFO] [STDERR]: [java.lang.ThreadGroup:uncaughtException:1052]: 	at net.minecraft.world.World.func_175625_s(World.java:5823)
[09:12:03] [Network-Thread/INFO] [STDERR]: [java.lang.ThreadGroup:uncaughtException:1052]: 	at futurepack.common.network.NetworkManager$1.isValidBlock(NetworkManager.java:33)
[09:12:03] [Network-Thread/INFO] [STDERR]: [java.lang.ThreadGroup:uncaughtException:1052]: 	at futurepack.common.FPBlockSelector.addBlock(FPBlockSelector.java:187)
[09:12:03] [Network-Thread/INFO] [STDERR]: [java.lang.ThreadGroup:uncaughtException:1052]: 	at futurepack.common.FPBlockSelector.ab(FPBlockSelector.java:153)
[09:12:03] [Network-Thread/INFO] [STDERR]: [java.lang.ThreadGroup:uncaughtException:1052]: 	at futurepack.common.FPBlockSelector.block(FPBlockSelector.java:136)
[09:12:03] [Network-Thread/INFO] [STDERR]: [java.lang.ThreadGroup:uncaughtException:1052]: 	at futurepack.common.FPBlockSelector.selectBlocks(FPBlockSelector.java:98)
[09:12:03] [Network-Thread/INFO] [STDERR]: [java.lang.ThreadGroup:uncaughtException:1052]: 	at futurepack.common.FPSelectorHelper.getSelector(FPSelectorHelper.java:64)
[09:12:03] [Network-Thread/INFO] [STDERR]: [java.lang.ThreadGroup:uncaughtException:1052]: 	at futurepack.common.network.NetworkManager.send(NetworkManager.java:92)
[09:12:03] [Network-Thread/INFO] [STDERR]: [java.lang.ThreadGroup:uncaughtException:1052]: 	at futurepack.common.network.NetworkManager.run(NetworkManager.java:164)
[09:12:03] [Network-Thread/INFO] [STDERR]: [java.lang.ThreadGroup:uncaughtException:1052]: 	at java.lang.Thread.run(Thread.java:748)
@mcenderdragon

This comment has been minimized.

Show comment
Hide comment
@mcenderdragon

mcenderdragon Mar 5, 2018

Owner

Great because Sponge always crashes if I scan the world from another thread this crash happened. It seems like the ingame network is not compatible with sponge :/

Owner

mcenderdragon commented Mar 5, 2018

Great because Sponge always crashes if I scan the world from another thread this crash happened. It seems like the ingame network is not compatible with sponge :/

@mcenderdragon mcenderdragon changed the title from [Server thread/INFO] [STDERR]: [futurepack.common.network.NetworkManager:sendSave:121]: Network Thread DIED to Sponge kills Ingame Network Thread Mar 5, 2018

@codeHusky

This comment has been minimized.

Show comment
Hide comment
@codeHusky

codeHusky Mar 5, 2018

Helps if you don't do main-thread tasks on a separate thread.

codeHusky commented Mar 5, 2018

Helps if you don't do main-thread tasks on a separate thread.

@mcenderdragon

This comment has been minimized.

Show comment
Hide comment
@mcenderdragon

mcenderdragon Mar 5, 2018

Owner

well according to sponge every thing is main thread relevand id do :/ I can make a work around but that will result in pretty heavy task execute in the main thread wish can result in lag on large scale structures. (Like a 1000^3 block of network cables)

Owner

mcenderdragon commented Mar 5, 2018

well according to sponge every thing is main thread relevand id do :/ I can make a work around but that will result in pretty heavy task execute in the main thread wish can result in lag on large scale structures. (Like a 1000^3 block of network cables)

@liach

This comment has been minimized.

Show comment
Hide comment
@liach

liach Mar 5, 2018

@mcenderdragon You are trying to load chunks from off thread. Network threads are only for populating a packet's fields, as used in vanilla; when you do task, you add them to the task lists of MinecraftServer class.

liach commented Mar 5, 2018

@mcenderdragon You are trying to load chunks from off thread. Network threads are only for populating a packet's fields, as used in vanilla; when you do task, you add them to the task lists of MinecraftServer class.

@liach

This comment has been minimized.

Show comment
Hide comment
@liach

liach Mar 5, 2018

Hmm, @mcenderdragon is worldgen from off thread safe in minecraft 1.12?

liach commented Mar 5, 2018

Hmm, @mcenderdragon is worldgen from off thread safe in minecraft 1.12?

@mcenderdragon

This comment has been minimized.

Show comment
Hide comment
@mcenderdragon

mcenderdragon Mar 5, 2018

Owner

well I scan for network blocks, I dont know how much of them are loaded as they are build by players. And the addSheduledTask on sponge are broken.

Owner

mcenderdragon commented Mar 5, 2018

well I scan for network blocks, I dont know how much of them are loaded as they are build by players. And the addSheduledTask on sponge are broken.

@mcenderdragon

This comment has been minimized.

Show comment
Hide comment
@mcenderdragon

mcenderdragon Mar 5, 2018

Owner

Well this is in there since 1.8 and until sponge I did not have any issues with it ^^ but normaly player build the blocks so the chunks normaly are already generated.

Owner

mcenderdragon commented Mar 5, 2018

Well this is in there since 1.8 and until sponge I did not have any issues with it ^^ but normaly player build the blocks so the chunks normaly are already generated.

@liach

This comment has been minimized.

Show comment
Hide comment
@liach

liach Mar 5, 2018

And the addSheduledTask on sponge are broken.

Can you open an issue at https://github.com/SpongePowered/SpongeForge/issues/new for that?

liach commented Mar 5, 2018

And the addSheduledTask on sponge are broken.

Can you open an issue at https://github.com/SpongePowered/SpongeForge/issues/new for that?

@mcenderdragon

This comment has been minimized.

Show comment
Hide comment
@mcenderdragon
Owner

mcenderdragon commented Mar 5, 2018

@mcenderdragon

This comment has been minimized.

Show comment
Hide comment
@mcenderdragon

mcenderdragon Mar 5, 2018

Owner

@mcenderdragon You are trying to load chunks from off thread. Network threads are only for populating a packet's fields, as used in vanilla; when you do task, you add them to the task lists of MinecraftServer class.

Also the thread is name dmmissleading, its ingame network. You can build machines, which use a network, whisc works alot like the real internet, but much simpler. So this is no IO netty threads for Server/client connection, but rather an asyncronous tileentity ticker.

Owner

mcenderdragon commented Mar 5, 2018

@mcenderdragon You are trying to load chunks from off thread. Network threads are only for populating a packet's fields, as used in vanilla; when you do task, you add them to the task lists of MinecraftServer class.

Also the thread is name dmmissleading, its ingame network. You can build machines, which use a network, whisc works alot like the real internet, but much simpler. So this is no IO netty threads for Server/client connection, but rather an asyncronous tileentity ticker.

@liach

This comment has been minimized.

Show comment
Hide comment
@liach

liach Mar 5, 2018

by using wish do you mean which?

liach commented Mar 5, 2018

by using wish do you mean which?

@mcenderdragon

This comment has been minimized.

Show comment
Hide comment
@mcenderdragon

mcenderdragon Mar 5, 2018

Owner

yes, I allways do this mistake, sorry ^^

Owner

mcenderdragon commented Mar 5, 2018

yes, I allways do this mistake, sorry ^^

@liach

This comment has been minimized.

Show comment
Hide comment
@liach

liach Mar 5, 2018

So, I will look into sponge and help fixing this scheduled task thing first, and test again after that is fixed. Thanks for all these information @mcenderdragon!

liach commented Mar 5, 2018

So, I will look into sponge and help fixing this scheduled task thing first, and test again after that is fixed. Thanks for all these information @mcenderdragon!

@mcenderdragon

This comment has been minimized.

Show comment
Hide comment
@mcenderdragon

mcenderdragon Mar 5, 2018

Owner

Cool, thanks :)

Owner

mcenderdragon commented Mar 5, 2018

Cool, thanks :)

@Zidane

This comment has been minimized.

Show comment
Hide comment
@Zidane

Zidane Mar 5, 2018

You aren't "scanning the world", you're literally triggering chunk loads from another thread. You cannot do this and you WILL blow up other mod's code/Vanilla code that is not expecting this. The error is clear as day, all network handlers in 1.10+ are handled on the Netty thread they arrive on but you'll see that Vanilla, almost always, enqueues it back on the main thread. If you do the same, your issue will go away.

Not an issue on Sponge end.

Zidane commented Mar 5, 2018

You aren't "scanning the world", you're literally triggering chunk loads from another thread. You cannot do this and you WILL blow up other mod's code/Vanilla code that is not expecting this. The error is clear as day, all network handlers in 1.10+ are handled on the Netty thread they arrive on but you'll see that Vanilla, almost always, enqueues it back on the main thread. If you do the same, your issue will go away.

Not an issue on Sponge end.

@liach

This comment has been minimized.

Show comment
Hide comment
@liach

liach Mar 5, 2018

@Zidane he has a separate system to be computed concurrently with world ticks, something like an electricity network.

liach commented Mar 5, 2018

@Zidane he has a separate system to be computed concurrently with world ticks, something like an electricity network.

@Zidane

This comment has been minimized.

Show comment
Hide comment
@Zidane

Zidane Mar 5, 2018

@liach

Not relevant. You cannot load a chunk from another thread no matter the circumstance. End of discussion.

Zidane commented Mar 5, 2018

@liach

Not relevant. You cannot load a chunk from another thread no matter the circumstance. End of discussion.

@mcenderdragon

This comment has been minimized.

Show comment
Hide comment
@mcenderdragon

mcenderdragon Mar 5, 2018

Owner

Well the problem is if I do this It can happen I produce of lag of up to a second and this each tick, depending what the player build, I can show you the code if that makes thinks more clear.

Owner

mcenderdragon commented Mar 5, 2018

Well the problem is if I do this It can happen I produce of lag of up to a second and this each tick, depending what the player build, I can show you the code if that makes thinks more clear.

@mcenderdragon

This comment has been minimized.

Show comment
Hide comment
@mcenderdragon

mcenderdragon Mar 5, 2018

Owner

https://gist.github.com/mcenderdragon/e9df9b0f4adc69a6bd488f9e9d0319cd
Also it is interesting Vanilla nor another mod ever blew up so far, I guess I am lucky only sponge had issues with this so far.

Owner

mcenderdragon commented Mar 5, 2018

https://gist.github.com/mcenderdragon/e9df9b0f4adc69a6bd488f9e9d0319cd
Also it is interesting Vanilla nor another mod ever blew up so far, I guess I am lucky only sponge had issues with this so far.

@Zidane

This comment has been minimized.

Show comment
Hide comment
@Zidane

Zidane Mar 5, 2018

@mcenderdragon The moral of the story is this game engine is not built for threaded access. Sponge enforces the check so that plugins don't blow up when their code is called from other threads from event listeners that have ended up on said thread. Just because it has been working with Vanilla is by a stroke of luck.

Zidane commented Mar 5, 2018

@mcenderdragon The moral of the story is this game engine is not built for threaded access. Sponge enforces the check so that plugins don't blow up when their code is called from other threads from event listeners that have ended up on said thread. Just because it has been working with Vanilla is by a stroke of luck.

@liach

This comment has been minimized.

Show comment
Hide comment
@liach

liach Mar 5, 2018

@mcenderdragon Apparently you hit an edge case in which the block you check to select is in ungenerated chunks. My suggestion is that you offer a chunk cache to the network thread every tick, and your network thread check from its exclusive cache to prevent such loading new chunk issues.

liach commented Mar 5, 2018

@mcenderdragon Apparently you hit an edge case in which the block you check to select is in ungenerated chunks. My suggestion is that you offer a chunk cache to the network thread every tick, and your network thread check from its exclusive cache to prevent such loading new chunk issues.

@liach

This comment has been minimized.

Show comment
Hide comment
@liach

liach Mar 5, 2018

Update: Sending packets is not that costly. You can totally send them on main thread, which also avoids synchronization costs.

liach commented Mar 5, 2018

Update: Sending packets is not that costly. You can totally send them on main thread, which also avoids synchronization costs.

@mcenderdragon

This comment has been minimized.

Show comment
Hide comment
@mcenderdragon

mcenderdragon Mar 5, 2018

Owner

the costly part is this:

FPBlockSelector sel = FPSelectorHelper.getSelector(user.getWorldObj(), user.getBlockPos(), selectorNetwork);
Collection<ParentCoords> machines = sel.getValidBlocks(selectorMachines);

And the Helper is a thread save casher, so I guess I end upp calling this with addSheduled task. However I will most likely add a config option to enforce using the old logic incase soemone build a very complex structure. Thanks you both for helping and discussing this :)

Owner

mcenderdragon commented Mar 5, 2018

the costly part is this:

FPBlockSelector sel = FPSelectorHelper.getSelector(user.getWorldObj(), user.getBlockPos(), selectorNetwork);
Collection<ParentCoords> machines = sel.getValidBlocks(selectorMachines);

And the Helper is a thread save casher, so I guess I end upp calling this with addSheduled task. However I will most likely add a config option to enforce using the old logic incase soemone build a very complex structure. Thanks you both for helping and discussing this :)

@mcenderdragon

This comment has been minimized.

Show comment
Hide comment
@mcenderdragon

mcenderdragon Mar 6, 2018

Owner

Ok thats harden then I thoeught, because I end up locking the threads to each other way to often, A waits for B and B tries to call notify but both are in a syncronized space so they have to wait...

Owner

mcenderdragon commented Mar 6, 2018

Ok thats harden then I thoeught, because I end up locking the threads to each other way to often, A waits for B and B tries to call notify but both are in a syncronized space so they have to wait...

@mcenderdragon

This comment has been minimized.

Show comment
Hide comment
@mcenderdragon

mcenderdragon Mar 6, 2018

Owner

THis version should fix the issue: 26.3.152

Owner

mcenderdragon commented Mar 6, 2018

THis version should fix the issue: 26.3.152

@ProsperCraft

This comment has been minimized.

Show comment
Hide comment
@ProsperCraft

ProsperCraft Mar 6, 2018

I don't know how to reproduce this, so the only way I could test it is if you push it to curse so we can put it into production on our server and see if it happens again.

ProsperCraft commented Mar 6, 2018

I don't know how to reproduce this, so the only way I could test it is if you push it to curse so we can put it into production on our server and see if it happens again.

@mcenderdragon

This comment has been minimized.

Show comment
Hide comment
@mcenderdragon

mcenderdragon Mar 6, 2018

Owner

Place a researcher in the world, cheat you all researches so you can open it, use the ingame configs to enable research blueprints in creative and then put something in there wish needs neon and support, There dont have to be network cables connced but it will make things more clear. When using network cables to connect T1/T2 modcules and T1 calculators they have to communicate via the them.

Owner

mcenderdragon commented Mar 6, 2018

Place a researcher in the world, cheat you all researches so you can open it, use the ingame configs to enable research blueprints in creative and then put something in there wish needs neon and support, There dont have to be network cables connced but it will make things more clear. When using network cables to connect T1/T2 modcules and T1 calculators they have to communicate via the them.

@ProsperCraft

This comment has been minimized.

Show comment
Hide comment
@ProsperCraft

ProsperCraft Mar 6, 2018

https://gist.github.com/Reveter/2d75ec4793a96e92119a088697aeaeac

On logging in to the server and going to a base with fp in it.

ProsperCraft commented Mar 6, 2018

https://gist.github.com/Reveter/2d75ec4793a96e92119a088697aeaeac

On logging in to the server and going to a base with fp in it.

@ProsperCraft

This comment has been minimized.

Show comment
Hide comment
@ProsperCraft

ProsperCraft Mar 6, 2018

Once we got away from established stuff, using your parameters, the test worked.

ProsperCraft commented Mar 6, 2018

Once we got away from established stuff, using your parameters, the test worked.

@mcenderdragon

This comment has been minimized.

Show comment
Hide comment
@mcenderdragon
Owner

mcenderdragon commented Mar 6, 2018

Fix: 26.3.153

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment