[MOD 0.18] Robot Army. v0.4.4

Topics and discussion about specific mods
kyranzor
Filter Inserter
Filter Inserter
Posts: 499
Joined: Fri Oct 31, 2014 4:52 pm
Contact:

Re: [MOD 0.13] Robot Army. 0.1.44 on-load fix, chest fix

Post by kyranzor »

buder5 wrote:i have an idea for you add the abbility to manage a squad to a patrol route between 2 waypoint or 2 building serving as waypoint i will like that alot XD
I am working on it.. first I am making 'guard stations' which are now basically ready, you can test them on the Development branch (but change your mod folder to be called 0.1.45 once you replace all the files with the dev branch files)

Once guard stations are in place, I can work on logic to make patrols. maybe chain "patrol post" buildings together and squads can move between those.

massey
Burner Inserter
Burner Inserter
Posts: 10
Joined: Thu Jul 07, 2016 9:51 pm
Contact:

Re: [MOD 0.13] Robot Army. 0.1.44 on-load fix, chest fix

Post by massey »

I made some suggestions on the mod portal, but this seems to be the more active thread so better to put things here maybe. ( I don't know the policy on duplicating content between the two, so sorry if its frowned on..)

I suggested guard flags, I see you are working on guard posts, so thats great. I would suggest the ability to connect them to the circuit network to allow players to setup an auto reinforcement train system. That would be great.
I also suggested 'capture flags'. These would work as objectives for squads. Just basic control to direct squads north, south, east or west. I think a simple pole would work for that.

Great mod and keep up to good work!
(Also looking forward to the bobs mods artefact collection)

kyranzor
Filter Inserter
Filter Inserter
Posts: 499
Joined: Fri Oct 31, 2014 4:52 pm
Contact:

Re: [MOD 0.13] Robot Army. 0.1.44 on-load fix, chest fix

Post by kyranzor »

massey wrote:I made some suggestions on the mod portal, but this seems to be the more active thread so better to put things here maybe. ( I don't know the policy on duplicating content between the two, so sorry if its frowned on..)

I suggested guard flags, I see you are working on guard posts, so thats great. I would suggest the ability to connect them to the circuit network to allow players to setup an auto reinforcement train system. That would be great.
I also suggested 'capture flags'. These would work as objectives for squads. Just basic control to direct squads north, south, east or west. I think a simple pole would work for that.

Great mod and keep up to good work!
(Also looking forward to the bobs mods artefact collection)
Thanks for your suggestions!

The current guard station idea that i've 99.9% implemented already, is this:
- build a guard station, set what type of unit you want to be spawned just like from a droid assembler (they are basically just a different type of droid assembler)
- insert droid item to deploy it
- guard station looks in a 15 tile radius and counts how many of any type of droid are nearby, and if < 10 (configurable in config.lua) it will spawn the droid somewhere within a 10 tile radius centered around the guard station position.
- You can have any number of guard stations but because of the localized spawn-limiting, it's best to space the guard stations out exactly 1 chunk (32 tiles, minimum spacing) or more, to get the highest density of squads. Squads will move sometimes more than 1 chunk to react to nearby enemies so this works out well.
- if you had more than 1 guard station in a 32 tile area, they will both spawn droids and add to whatever nearby guard squads are there, but they will most likely be counting the same droids so you won't get full multiples of the guard limit amount.
- If you had a box of 100 droids, being inserted directly (with no logic needed) into a guard station, the guard station will self-limit how many it deploys by counting before deploying the next one. As biters attack and you lose droids, the count of nearby droids (even during combat) will go < 10, and more guards will be spawned immediately by the guard station until numbers are >= 10. If you place some gun turrets nearby, this is a very good defence system, as the droids will move around to where they are needed most, do not need ammo, and will be automatically reinforced.
- robotports should replace destroyed guard stations with the same recipes set in them, so damaged guard areas should be fully recoverable without player interaction.


Patrol Pole idea:

Once the guard stations are working well, I will then add a custom version of a medium power pole (to give an idea of connection range). The "patrol pole" will actually be a proper power-transmitting entity, which is a double-bonus! You can use the click - and - drag method to string out a row of poles, and as long as one ends up within the connection radius to a guard station, the guard station will send the nearby squad on patrol, and disable it's own spawning ability (otherwise it will begin spawning again as the squad leaves on patrol... this can get out of hand quickly). If the patrolling squad dies, it will re-enable it's guard spawning.. When a squad goes on patrol, it will move away from its "home" guard station and move to the nearest patrol pole. when it gets there, it will look for the next patrol pole, but one that is not the one it came from last (unless no other option). the squads will move between each of these poles until they get to the last one, where they will turn back and follow them home. There will need to be some handling of situations like "no poles found" which will just be "go home" to their guard station. If their guard station is removed while they are patrolling, they could always fall back to "hunt" behaviour.

massey
Burner Inserter
Burner Inserter
Posts: 10
Joined: Thu Jul 07, 2016 9:51 pm
Contact:

Re: [MOD 0.13] Robot Army. 0.1.44 on-load fix, chest fix

Post by massey »

Sounds good. The chest with spare droids can then be wired up and stocked up when necessary. Playing for a bit longer I ran a little test using the 'test mode' mod. I released 100 terminators to see how much damage they could do. They are currently deep behind enemy lines. Its amazing how much damage they do. But given their cost (i'm using bobs mods) I think they aren't really over powered. 100 terminators would be a big investment. But one issue is that they are deep behind enemy lines, My base in theory could be poorly defended while all my super soldiers are off wrecking biter bases sectors away. A squad recall button would be very useful.

I don't know how hard it would be but a squad manager similar to the new train manager window would be great. Just to be able to see what a squad is doing and maybe recall them to their nearest guard post.

tonsrd
Inserter
Inserter
Posts: 22
Joined: Fri Jul 08, 2016 2:59 am
Contact:

Re: [MOD 0.13] Robot Army. 0.1.44 on-load fix, chest fix

Post by tonsrd »

ive installed the mod but not survived long enuff to use them, ( current playthrough ill try again 2morrow ) you spoke about a "hunt" command, do they just "hunt" nearby stuff or can I give them direct orders like "go here", "kill this", "return to base" ?

kyranzor
Filter Inserter
Filter Inserter
Posts: 499
Joined: Fri Oct 31, 2014 4:52 pm
Contact:

Re: [MOD 0.13] Robot Army. 0.1.44 on-load fix, chest fix

Post by kyranzor »

tonsrd wrote:ive installed the mod but not survived long enuff to use them, ( current playthrough ill try again 2morrow ) you spoke about a "hunt" command, do they just "hunt" nearby stuff or can I give them direct orders like "go here", "kill this", "return to base" ?
The current default behaviour for squads of droids is to stand around idle until their squad becomes large enough (default 5 or more) that they automatically go and hunt the nearest biter nest or enemy player's stuff. The enemies must be within 5k tiles range (quite a long range!) and the squads will just keep finding and moving to attack new enemies until they die or retreat. There is currently no direct way to order the squads around, just understand how/what they do and work around it.

Next version will have "guard stations" which deploy troops that always stay nearby, they will not go off and hunt - this allows you to have a [large] self-replenishing garrison of droids at key locations in your base defence.

The intention of the mod was to have things reasonably simple, intuitive, and not relying too heavily on player involvement except for the initial set-up (like the rest of the game :D )


massey wrote:Sounds good. The chest with spare droids can then be wired up and stocked up when necessary. Playing for a bit longer I ran a little test using the 'test mode' mod. I released 100 terminators to see how much damage they could do. They are currently deep behind enemy lines. Its amazing how much damage they do. But given their cost (i'm using bobs mods) I think they aren't really over powered. 100 terminators would be a big investment. But one issue is that they are deep behind enemy lines, My base in theory could be poorly defended while all my super soldiers are off wrecking biter bases sectors away. A squad recall button would be very useful.

I don't know how hard it would be but a squad manager similar to the new train manager window would be great. Just to be able to see what a squad is doing and maybe recall them to their nearest guard post.
Yes 100 terminators is a very end-game "holy crap super mega death squad" and can eat very deep into the heart of a biter death-world game. the key is not to send 100 at once, rather from 3 areas in the general direction you want to clear, send out 3 squads of 33. The way they go on a killing rampage means they'll twist and turn and kill anything close enough, so if you have 3 death-squads on a rampage they are more likely to not miss anything and clear a better hole. Also, with the guard stations back at base you can deploy rocket or SMG droids as the normal units, and then hand-place terminators into those guard squads to beef them up (but you'd need to go through later and replenish them if they die, which is unlikely).

You are right that sending 100 terminators off to kill while leaving your base undefended is not the right strategy, which I hope players will work out on their own..

Adding a way to recall squads is certainly possible, but there has to be enough thought in the way it's done - where will the squads go when the retreat is ordered? Currently if a squad is depleted, they go to the nearest droid assembler, hoping that more droids will be deployed and fill up the squad again. Is that what we want in this case? What if 150 droids end up traffic-jamming the nearest droid assembler? When the droids reach the assembler, should the squads still large enough be automatically sent off to battle again? Wouldn't that get annoying? Maybe they
Last edited by kyranzor on Sun Jul 10, 2016 4:10 am, edited 1 time in total.

supernet2
Long Handed Inserter
Long Handed Inserter
Posts: 98
Joined: Tue Jun 28, 2016 1:18 am
Contact:

Re: [MOD 0.13] Robot Army. 0.1.44 on-load fix, chest fix

Post by supernet2 »

How do we deploy the combat droids? For me i always have to use droid assembler now for it to deploy before the update, prior to the update i was able to deploy drones after they were constructed from hand (ie keeping a mini army in my inventory), where as using the blueprint will cause the game to desync crash me out. Is their a solution to this?

kyranzor
Filter Inserter
Filter Inserter
Posts: 499
Joined: Fri Oct 31, 2014 4:52 pm
Contact:

Re: [MOD 0.13] Robot Army. 0.1.44 on-load fix, chest fix

Post by kyranzor »

supernet2 wrote:How do we deploy the combat droids? For me i always have to use droid assembler now for it to deploy before the update, prior to the update i was able to deploy drones after they were constructed from hand (ie keeping a mini army in my inventory), where as using the blueprint will cause the game to desync crash me out. Is their a solution to this?
Use the droids with the yellow border (the "undeployed" ones) to place by hand.

Blueprints will not work for deploying droids. They aren't buildings!

I have no issue with placing the droids by hand, maybe there is some other strange bug or condition or cross-mod issue going on? What version of my mod are you using? Could there be any other mod that is perhaps interfering with mine?

supernet2
Long Handed Inserter
Long Handed Inserter
Posts: 98
Joined: Tue Jun 28, 2016 1:18 am
Contact:

Re: [MOD 0.13] Robot Army. 0.1.44 on-load fix, chest fix

Post by supernet2 »

the droids constructed with the yellow borders are the ones i use to beable to deploy, it nolonger works, as it crashes the game immediately creating a desync. Thats what i mean, their were three ways i knew how to deploy droids. From hand (from the yellow border droid item), from the built out droid (after you put the droid deployable print into a droid assembler) which forced the droid to assemble and deploy after a few seconds or, to take the assembled droid and deploy it via hand (the method that never crashed for me). (IE after droid icon is available deploy via the icon), now when i try to, in multiplayer it generates a desync after the yellow bordered'd drone deployable is brought out of toolbar/inventory to deploy ("sometimes it works") but most times it just causes instant crash and factorio throws out crash errors. But in Solo it works fine. Just was curious why it breaks the game now in multiplayer vs the old version*

kyranzor
Filter Inserter
Filter Inserter
Posts: 499
Joined: Fri Oct 31, 2014 4:52 pm
Contact:

Re: [MOD 0.13] Robot Army. 0.1.44 on-load fix, chest fix

Post by kyranzor »

supernet2 wrote:the droids constructed with the yellow borders are the ones i use to beable to deploy, it nolonger works, as it crashes the game immediately creating a desync. Thats what i mean, their were three ways i knew how to deploy droids. From hand (from the yellow border droid item), from the built out droid (after you put the droid deployable print into a droid assembler) which forced the droid to assemble and deploy after a few seconds or, to take the assembled droid and deploy it via hand (the method that never crashed for me). (IE after droid icon is available deploy via the icon), now when i try to, in multiplayer it generates a desync after the yellow bordered'd drone deployable is brought out of toolbar/inventory to deploy ("sometimes it works") but most times it just causes instant crash and factorio throws out crash errors. But in Solo it works fine. Just was curious why it breaks the game now in multiplayer vs the old version*
Ah, okay that is interesting. Can you tell me what the error message is (screenshot, copy paste text, anything (file and line number?)) When it crashes in Multiplayer? I will try to reproduce it on my end. It could be that the large changes in code recently left out a check or condition

Peppe
Fast Inserter
Fast Inserter
Posts: 223
Joined: Fri Nov 28, 2014 6:48 pm
Contact:

Re: [MOD 0.13] Robot Army. 0.1.44 on-load fix, chest fix

Post by Peppe »

Getting chat spam:
"cannot find nearby target!!"


Could the squads that have that issue just decommission into the army loot chest? Or pathfind back to me and i'll manually decommission them?

kyranzor
Filter Inserter
Filter Inserter
Posts: 499
Joined: Fri Oct 31, 2014 4:52 pm
Contact:

Re: [MOD 0.13] Robot Army. 0.1.44 on-load fix, chest fix

Post by kyranzor »

Peppe wrote:Getting chat spam:
"cannot find nearby target!!"


Could the squads that have that issue just decommission into the army loot chest? Or pathfind back to me and i'll manually decommission them?
Hey that's a good idea - a chest to collect busted bots in...

If you can, try to find the squad that is complaining of this and pick them all up and redeploy them closer to the enemy (they must be reallllly far away from any biters).

If you want, you can comment this out, in modfolder/robolib/Squad.lua line 275, (see https://github.com/kyranf/robotarmyfact ... d.lua#L275 )
you want to make "player.print("cannot find nearby target!!")" be "--player.print("cannot find nearby target!!")" to disable it.

The spam isn't really necessary, was more of a debug thing, and i never actually encountered it so I never knew if that range check was working. Thanks for finding it! Sorry about the spam though.

In theory, if the squad has that "error"/situation, they will just stand around (and in your case, spam the chat) until biters DO come within range (this can be a squad of biters coming to attack, or an attempt by the biters to expand and make new nests) and they should immediately move off to kill them. Once they move to the ~5k target they should certainly be close enough to more biters and you won't see them have issues again.

Peppe
Fast Inserter
Fast Inserter
Posts: 223
Joined: Fri Nov 28, 2014 6:48 pm
Contact:

Re: [MOD 0.13] Robot Army. 0.1.44 on-load fix, chest fix

Post by Peppe »

kyranzor wrote:
Peppe wrote:Getting chat spam:
"cannot find nearby target!!"


Could the squads that have that issue just decommission into the army loot chest? Or pathfind back to me and i'll manually decommission them?
Hey that's a good idea - a chest to collect busted bots in...

If you can, try to find the squad that is complaining of this and pick them all up and redeploy them closer to the enemy (they must be reallllly far away from any biters).

If you want, you can comment this out, in modfolder/robolib/Squad.lua line 275, (see https://github.com/kyranf/robotarmyfact ... d.lua#L275 )
you want to make "player.print("cannot find nearby target!!")" be "--player.print("cannot find nearby target!!")" to disable it.

The spam isn't really necessary, was more of a debug thing, and i never actually encountered it so I never knew if that range check was working. Thanks for finding it! Sorry about the spam though.

In theory, if the squad has that "error"/situation, they will just stand around (and in your case, spam the chat) until biters DO come within range (this can be a squad of biters coming to attack, or an attempt by the biters to expand and make new nests) and they should immediately move off to kill them. Once they move to the ~5k target they should certainly be close enough to more biters and you won't see them have issues again.
I got a weird Asimov moment... the squads all kinda found each other and now are grouped up in a massive death ball.

I had two-three squads working the north portion and the eventually went after the same bases and consolidated into one pretty big ball maybe 30 strong.

I set about two groups of 12 out to the south and they ended up at the final southern base (southern most revealed area on my map). When they cleared the final base there were no more green expansion chunks on my map and the northern army just pathed down to the southern army. That is when the spam started.

~10 minutes later a base expanded into their range in the south west and they all went to kill it. Every droid I have released is hanging out there now:
images

Map is once again cleared of even expansion chunks.

kyranzor
Filter Inserter
Filter Inserter
Posts: 499
Joined: Fri Oct 31, 2014 4:52 pm
Contact:

Re: [MOD 0.13] Robot Army. 0.1.44 on-load fix, chest fix

Post by kyranzor »

Sounds like they have literally wiped out all of the biters. You should go for a long walk and trigger more chunk generation. The game hasn't spawned enough chunks in your map to have enough biters to kill. I guess I could trigger squads to cause chunk generation nearby?

Qon
Smart Inserter
Smart Inserter
Posts: 2119
Joined: Thu Mar 17, 2016 6:27 am
Contact:

Re: [MOD 0.13] Robot Army. 0.1.44 on-load fix, chest fix

Post by Qon »

kyranzor wrote:Sounds like they have literally wiped out all of the biters. You should go for a long walk and trigger more chunk generation. The game hasn't spawned enough chunks in your map to have enough biters to kill. I guess I could trigger squads to cause chunk generation nearby?
And then you leave your game running for a while and come back to a savefile too big to load :o
There needs to be some limits so you don't destroy your savefile needlessly from infinite chunk generation.

kyranzor
Filter Inserter
Filter Inserter
Posts: 499
Joined: Fri Oct 31, 2014 4:52 pm
Contact:

Re: [MOD 0.13] Robot Army. 0.1.44 on-load fix, chest fix

Post by kyranzor »

This is true! I suppose in the rare (but obviously possible) that mass genocide is 100 successful, the squads can just idle at their final location. If there are no baddies anymore then they can just wait around until the player moves out far enough (maybe for a resource base?) That the chunks start generating again and new biters are discovered.

supernet2
Long Handed Inserter
Long Handed Inserter
Posts: 98
Joined: Tue Jun 28, 2016 1:18 am
Contact:

Re: [MOD 0.13] Robot Army. 0.1.44 on-load fix, chest fix

Post by supernet2 »

Code: Select all

   0.001 2016-07-10 18:12:10; Factorio 0.13.6 (build 23136, win64, steam)
   0.001 Operating system: Windows 10 
   0.001 Program arguments: "E:\Installed\SteamLibrary\steamapps\common\Factorio\bin\x64\Factorio.exe" 
   0.001 Read data path: E:/Installed/SteamLibrary/steamapps/common/Factorio/data
   0.001 Write data path: C:/Users/repub/AppData/Roaming/Factorio
   0.001 Binaries path: E:/Installed/SteamLibrary/steamapps/common/Factorio/bin
   0.017 Graphics options: [FullScreen: false] [VSync: true] [UIScale: 100%] [MultiSampling: OFF] [Graphics quality: normal] [Video memory usage: all] [Light scale: 20%] [Screen: 255] [DXT: auto]
   0.018 Available display adapters: 1
   0.019  [0]: \\.\DISPLAY1 - Intel(R) HD Graphics 4000 {0x05, [0,0], 1920x1080, 32bit, 60Hz}
   0.019 Create display on adapter 0. Size 1280x720 at position [310, 162].
   0.068 Initialised Direct3D:[0] NVIDIA GeForce GTX 680M; driver: nvd3dumx.dll 10.18.13.6869
   0.071     Video memory size (dedicated video/dedicated system/shared system/available): 4062/0/12233/4092 MB
   0.101 Desktop composition is active.
   0.220 Loading mod core 0.0.0 (data.lua)
   0.228 Loading mod base 0.13.6 (data.lua)
   0.335 Loading mod robotarmy 0.1.44 (data.lua)
   0.397 Checksum for core: 714099156
   0.397 Checksum for mod base: 1855085279
   0.397 Checksum for mod robotarmy: 153481396
   0.930 Initial atlas bitmap size is 16384
   0.932 Created atlas bitmap 16384x6511
   0.950 Created atlas bitmap 4096x4052
   0.966 Created atlas bitmap 4096x4092
   0.997 Created atlas bitmap 4096x3992
   1.209 Created atlas bitmap 4096x968
   6.895 Sprites loaded
   6.896 Convert atlas 4096x4052 to: compressed 
   7.806 Convert atlas 4096x4092 to: compressed 
   8.693 Convert atlas 4096x3992 to: compressed 
   9.449 Convert atlas 4096x968 to: trilinear-filtering 
  10.315 Loading sounds...
  11.820 Custom inputs active: 0
  11.855 Factorio initialised
  15.767 Info WindowsUDPSocket.cpp:59: Opening socket at port (0)
  20.874 Info WindowsUDPSocket.cpp:159: Socket closed
  20.875 Info Router.cpp:558: Router peerID(65535) shutting down.
  20.875 Info Router.cpp:594: Router state -> Disconnected
  20.876 Joining game 33339
  20.876 Info WindowsUDPSocket.cpp:59: Opening socket at port (0)
  20.876 Info Router.cpp:594: Router state -> Connecting
  20.876 Info MultiplayerManager.cpp:996: networkTick(0) mapTick(-1) changing state from(Ready) to(Connecting)
  20.909 Connection to addres() refused(type(ConnectionReply) confirm(true) status(UserVerificationMissing) gameName(!0.13.6|US Eastern| Robot Army Rocket Rush) description(User verification is required for this game.) latency(12) remoteApplicationVersion(0.13.6 (build 23136, win64, steam)) remoteActiveMods((base 0.13.6) (robotarmy 0.1.44) ) connectionRequestID(36674) gameID(38503)).
  20.909 Info MultiplayerManager.cpp:180: NetworkTick(0) quitting multiplayer connection.
  20.909 Info MultiplayerManager.cpp:996: networkTick(0) mapTick(-1) changing state from(Connecting) to(Disconnected)
  20.926 Info HttpSharedState.cpp:39: Downloading https://auth.factorio.com/generate-user-server-key
  21.068 Info HttpSharedState.cpp:83: Status code: 200
  21.068 Info AuthServerConnector.cpp:133: Received key  username(supernet2) from auth server.
  21.068 Info Router.cpp:558: Router peerID(65535) shutting down.
  21.068 Info WindowsUDPSocket.cpp:159: Socket closed
  21.068 Info Router.cpp:594: Router state -> Disconnected
  21.069 Info Router.cpp:558: Router peerID(65535) shutting down.
  21.069 Info Router.cpp:594: Router state -> Disconnected

  21.069 Info WindowsUDPSocket.cpp:59: Opening socket at port (0)
  21.069 Info Router.cpp:594: Router state -> Connecting
  21.069 Info MultiplayerManager.cpp:996: networkTick(0) mapTick(-1) changing state from(Ready) to(Connecting)
  21.103 Info Router.cpp:594: Router state -> WaitingForAccept
  21.296 Info Router.cpp:319: Received message type(HeartbeatGroup) (0 - type(Heartbeat) heartbeat(networkTick(2974412) closedTick(true)  synchronizerActions((PeerConnect) ) ) requestsForHeartbeats() ) (0 - type(Heartbeat) heartbeat(networkTick(2974413) closedTick(true)  ) requestsForHeartbeats() ) (0 - type(Heartbeat) heartbeat(networkTick(2974414) closedTick(true)  ) requestsForHeartbeats() ) (0 - type(Heartbeat) heartbeat(networkTick(2974415) closedTick(true)  ) requestsForHeartbeats() ) (0 - type(Heartbeat) heartbeat(networkTick(2974416) closedTick(true)  ) requestsForHeartbeats() ) (0 - type(Heartbeat) heartbeat(networkTick(2974417) closedTick(true)  ) requestsForHeartbeats() ) (0 - type(Heartbeat) heartbeat(networkTick(2974418) closedTick(true)  ) requestsForHeartbeats() ) (0 - type(Heartbeat) heartbeat(networkTick(2974419) closedTick(true)  ) requestsForHeartbeats() ) (0 - type(Heartbeat) heartbeat(networkTick(2974420) closedTick(true)  ) requestsForHeartbeats() ) (0 - type(Heartbeat) heartbeat(networkTick(2974421) closedTick(true)  ) requestsForHeartbeats() ) (0 - type(Heartbeat) heartbeat(networkTick(2974422) closedTick(true)  ) requestsForHeartbeats() ) (0 - type(Heartbeat) heartbeat(networkTick(2974423) closedTick(true)  ) requestsForHeartbeats() ) (0 - type(Heartbeat) heartbeat(networkTick(2974424) closedTick(true)  synchronizerActions((PeerInfo) (PeerStateChanged) ) ) requestsForHeartbeats((requestPeerID(8) requestNetworkTick(2974412) ) (requestPeerID(8) requestNetworkTick(2974413) ) (requestPeerID(8) requestNetworkTick(2974414) ) (requestPeerID(8) requestNetworkTick(2974415) ) (requestPeerID(8) requestNetworkTick(2974416) ) (requestPeerID(8) requestNetworkTick(2974417) ) (requestPeerID(8) requestNetworkTick(2974418) ) ) )  from :33339 with invalid session magic (expected 0x011, was 0xe8a).
  21.304 Info Synchronizer.cpp:56: NetworkTick(2974424) initialized Synchronizer local peer(8) latency(12).
  21.304 Info Synchronizer.cpp:522: networkTick(2974424) adding peer(0) success(true).
  21.304 Info Router.cpp:594: Router state -> Connected
  21.305 Info Router.cpp:831: ConnectionAccepted ownPeerID(8) nextPeerID(9)
  21.305 Info MultiplayerManager.cpp:996: networkTick(2974424) mapTick(-1) changing state from(Connecting) to(VerifyingConnection)
  21.338 Info Router.cpp:889: Received onPeerConnected for already connected peer(8)
  21.538 Info MultiplayerManager.cpp:1527: Received peer info for peer(0) username(<server>).
  21.539 Info MultiplayerManager.cpp:1143: networkTick(2974436) mapTick(-1) received stateChanged peerID(0) oldState(Ready) newState(InGame)
  21.539 Info MultiplayerManager.cpp:1527: Received peer info for peer(8) username(supernet2).
  21.539 Info MultiplayerManager.cpp:1143: networkTick(2974436) mapTick(-1) received stateChanged peerID(8) oldState(Ready) newState(Connecting)
  21.539 Info MultiplayerManager.cpp:1527: Received peer info for peer(8) username(supernet2).
  21.539 Info MultiplayerManager.cpp:1143: networkTick(2974436) mapTick(-1) received stateChanged peerID(8) oldState(Connecting) newState(Connecting)
  21.539 Info MultiplayerManager.cpp:1143: networkTick(2974436) mapTick(-1) received stateChanged peerID(8) oldState(Connecting) newState(VerifyingConnection)
  21.745 Info MultiplayerManager.cpp:996: networkTick(2974449) mapTick(-1) changing state from(VerifyingConnection) to(ConnectedWaitingForMap)
  21.955 Info MultiplayerManager.cpp:1143: networkTick(2974461) mapTick(-1) received stateChanged peerID(8) oldState(VerifyingConnection) newState(ConnectedWaitingForMap)
  22.149 Info MultiplayerManager.cpp:1143: networkTick(2974473) mapTick(-1) received stateChanged peerID(0) oldState(InGame) newState(InGameAligning)
  22.589 Info MultiplayerManager.cpp:1143: networkTick(2974498) mapTick(-1) received stateChanged peerID(0) oldState(InGameAligning) newState(InGameAligned)
  22.589 Info MultiplayerManager.cpp:1143: networkTick(2974498) mapTick(-1) received stateChanged peerID(0) oldState(InGameAligned) newState(InGameSavingMap)
  25.766 Info MultiplayerManager.cpp:1143: networkTick(2974689) mapTick(-1) received stateChanged peerID(0) oldState(InGameSavingMap) newState(InGameSendingMap)
  25.766 Downloading file C:/Users\repub\AppData\Roaming\Factorio\temp\mp-download.zip (11886159 B, 23631 blocks)
  25.767 Info MultiplayerManager.cpp:996: networkTick(2974689) mapTick(-1) changing state from(ConnectedWaitingForMap) to(ConnectedDownloadingMap)
  25.767 Info NetworkInputHandler.cpp:45: mapTick(2589923) networkTick(2974689) initialized NetworkInputHandler local peer(8).
  25.767 Info NetworkInputHandler.cpp:524: expectedMapTick(2589923) adding peer(0).
  25.767 Info Synchronizer.cpp:428: NetworkTick(2974689) mapTick(2589923) applying 16 pending tickClosures
  25.767 Info NetworkInputHandler.cpp:608: assigning playerIndex(65535) to peer(0)
  25.767 Info NetworkInputHandler.cpp:608: assigning playerIndex(65535) to peer(8)
  25.767 Info MultiplayerManager.cpp:1732: networkTick(2974689) mapTick(-1) adding mapAlignTask(SendPlayerJoinGameAlignTask)
  25.767 Info MultiplayerManager.cpp:1516: Received script checksums: level: 900459546, mod-robotarmy: 2119717840
  25.977 Info MultiplayerManager.cpp:1143: networkTick(2974701) mapTick(-1) received stateChanged peerID(8) oldState(ConnectedWaitingForMap) newState(ConnectedDownloadingMap)
  28.524 Finished download (2 s, 12 MB, 4.3 MB/s)
  28.614 Info MultiplayerManager.cpp:1218: networkTick(2974856) mapTick(-1) map download finished creating scenario
  28.614 Info MultiplayerManager.cpp:996: networkTick(2974856) mapTick(-1) changing state from(ConnectedDownloadingMap) to(ConnectedLoadingMap)
  28.614 Loading map C:/Users\repub\AppData\Roaming\Factorio\temp\mp-download.zip
  28.748 Info Scenario.cpp:127: Map version 0.13.6-0
  28.754 Info MultiplayerManager.cpp:1143: networkTick(2974868) mapTick(-1) received stateChanged peerID(8) oldState(ConnectedDownloadingMap) newState(ConnectedLoadingMap)
  28.949 Info MultiplayerManager.cpp:1143: networkTick(2974880) mapTick(-1) received stateChanged peerID(0) oldState(InGameSendingMap) newState(InGameWaitingForOthers)
  29.457 Checksum for script C:/Users/repub/AppData/Roaming/Factorio/temp/currently-playing/control.lua: 900459546
  29.460 Checksum for script __robotarmy__/control.lua: 2119717840
  29.472 Info MultiplayerManager.cpp:996: networkTick(2974912) mapTick(2589923) changing state from(ConnectedLoadingMap) to(InGameWaitingForOthers)
  29.683 Info MultiplayerManager.cpp:1143: networkTick(2974924) mapTick(2589923) received stateChanged peerID(8) oldState(ConnectedLoadingMap) newState(InGameWaitingForOthers)
  29.683 Info MultiplayerManager.cpp:1342: networkTick(2974924) mapTick(2589923) stopping mapAlign
  29.683 Info MultiplayerManager.cpp:1884: performing map align task (SendPlayerJoinGameAlignTask)
  29.683 Info MultiplayerManager.cpp:996: networkTick(2974924) mapTick(2589923) changing state from(InGameWaitingForOthers) to(InGame)
  29.683 Info MultiplayerManager.cpp:1706: networkTick(2974924) mapTick(2589923) peerID(8) fullStateLog: local state(InGame) local peers(((peerID(0) state(InGameWaitingForOthers) mapAlignTick(-1))
((peerID(8) state(InGameWaitingForOthers) mapAlignTick(-1))
)
  29.883 Info MultiplayerManager.cpp:1143: networkTick(2974936) mapTick(2589935) received stateChanged peerID(0) oldState(InGameWaitingForOthers) newState(InGame)
  29.883 Info MultiplayerManager.cpp:1143: networkTick(2974936) mapTick(2589935) received stateChanged peerID(8) oldState(InGameWaitingForOthers) newState(InGame)
  29.919 Info NetworkInputHandler.cpp:754: mapTick(2589938) networkTick(2974939) connecting to player(supernet2).
  29.919 Info NetworkInputHandler.cpp:608: assigning playerIndex(0) to peer(8)
  29.919 Info GameActionHandler.cpp:2639: MapTick(2589938) processed PlayerJoinGame peerID(8) playerIndex(0) mode(connect)
 130.080 Error NetworkInputHandler.cpp:375: Multiplayer desynchronisation: crc test(CheckCRCHeuristic) failed for mapTick(2595499) peer(8) testCrc(-942383454) testCrcPeerID(0) currentCrc(2009192630)
 130.080 Info NetworkInputHandler.cpp:442: Desync specification: Reference CRC = 3352583842, reference peers = {0}, desynced group = {CRC = 2009192630, peers = {8 (supernet2)}}
 130.080 Info MultiplayerManager.cpp:996: networkTick(2980868) mapTick(2595514) changing state from(InGame) to(Desynced)
 130.296 Info MultiplayerManager.cpp:1143: networkTick(2980880) mapTick(2595514) received stateChanged peerID(8) oldState(InGame) newState(Desynced)
 130.296 Info MultiplayerManager.cpp:996: networkTick(2980880) mapTick(2595514) changing state from(Desynced) to(DesyncedAligning)
 130.296 Info MultiplayerManager.cpp:1818: networkTick(2980880) mapTick(2595514) starting mapAlign
 130.497 Info MultiplayerManager.cpp:1143: networkTick(2980892) mapTick(2595514) received stateChanged peerID(0) oldState(InGame) newState(InGameAligning)
 130.497 Info MultiplayerManager.cpp:1143: networkTick(2980892) mapTick(2595514) received stateChanged peerID(8) oldState(Desynced) newState(DesyncedAligning)
 130.497 Info MultiplayerManager.cpp:1752: networkTick(2980892) mapTick(2595514) sending mapAlignAction
 130.696 Info MultiplayerManager.cpp:1390: networkTick(2980904) mapTick(2595514) received MapAlignAction from peer(0), mapAlignTick(2595523) appliedTickClosuresCount(21)
 130.696 Info MultiplayerManager.cpp:1390: networkTick(2980904) mapTick(2595514) received MapAlignAction from peer(8), mapAlignTick(2595515) appliedTickClosuresCount(0)
 130.696 Info MultiplayerManager.cpp:1834: networkTick(2980905) mapTick(2595514) mapAlign finished targetTick(2595523) updating map and running the tasks ...
 130.696 Info MultiplayerManager.cpp:1706: networkTick(2980905) mapTick(2595514) peerID(8) fullStateLog: local state(DesyncedAligning) local peers(((peerID(0) state(InGameAligning) mapAlignTick(2595523))
((peerID(8) state(DesyncedAligning) mapAlignTick(2595515))
)
 130.699 Info MultiplayerManager.cpp:1853: maptick(2595523) crc before applying all ticks: 1375530371
 130.699 Info NetworkInputHandler.cpp:670: applyAllTickClosures: expectedMapTick(2595523) lastTickApplied(2595508) referenceMapTick(2595523) networkTick(2980905)
 130.699 Info NetworkInputHandler.cpp:694: applyAllTickClosures: applying tickClosure(tick(2595509) inputActions((CheckCRCHeuristic) ) ) for peer(0)
 130.699 Info NetworkInputHandler.cpp:694: applyAllTickClosures: applying tickClosure(tick(2595509) inputActions((SelectedEntityChanged) (CheckCRCHeuristic) ) ) for peer(8)
 130.699 Info NetworkInputHandler.cpp:694: applyAllTickClosures: applying tickClosure(tick(2595510) inputActions((CheckCRCHeuristic) ) ) for peer(0)
 130.699 Info NetworkInputHandler.cpp:694: applyAllTickClosures: applying tickClosure(tick(2595510) inputActions((SelectedEntityChanged) (CheckCRCHeuristic) ) ) for peer(8)
 130.699 Info NetworkInputHandler.cpp:694: applyAllTickClosures: applying tickClosure(tick(2595511) inputActions((CheckCRCHeuristic) ) ) for peer(0)
 130.699 Info NetworkInputHandler.cpp:694: applyAllTickClosures: applying tickClosure(tick(2595511) inputActions((CheckCRCHeuristic) ) ) for peer(8)
 130.699 Info NetworkInputHandler.cpp:694: applyAllTickClosures: applying tickClosure(tick(2595512) inputActions((CheckCRCHeuristic) ) ) for peer(0)
 130.699 Info NetworkInputHandler.cpp:694: applyAllTickClosures: applying tickClosure(tick(2595512) inputActions((CheckCRCHeuristic) ) ) for peer(8)
 130.699 Info NetworkInputHandler.cpp:694: applyAllTickClosures: applying tickClosure(tick(2595513) inputActions((CheckCRCHeuristic) ) ) for peer(0)
 130.699 Info NetworkInputHandler.cpp:694: applyAllTickClosures: applying tickClosure(tick(2595513) inputActions((CheckCRCHeuristic) ) ) for peer(8)
 130.699 Info NetworkInputHandler.cpp:694: applyAllTickClosures: applying tickClosure(tick(2595514) inputActions((CheckCRCHeuristic) ) ) for peer(0)
 130.699 Info NetworkInputHandler.cpp:694: applyAllTickClosures: applying tickClosure(tick(2595515) inputActions((CheckCRCHeuristic) ) ) for peer(0)
 130.699 Info NetworkInputHandler.cpp:694: applyAllTickClosures: applying tickClosure(tick(2595516) inputActions((CheckCRCHeuristic) ) ) for peer(0)
 130.699 Info NetworkInputHandler.cpp:694: applyAllTickClosures: applying tickClosure(tick(2595517) inputActions((CheckCRCHeuristic) ) ) for peer(0)
 130.699 Info NetworkInputHandler.cpp:694: applyAllTickClosures: applying tickClosure(tick(2595518) inputActions((CheckCRCHeuristic) ) ) for peer(0)
 130.699 Info NetworkInputHandler.cpp:694: applyAllTickClosures: applying tickClosure(tick(2595519) inputActions((CheckCRCHeuristic) ) ) for peer(0)
 130.699 Info NetworkInputHandler.cpp:694: applyAllTickClosures: applying tickClosure(tick(2595520) inputActions((CheckCRCHeuristic) ) ) for peer(0)
 130.699 Info NetworkInputHandler.cpp:694: applyAllTickClosures: applying tickClosure(tick(2595521) inputActions((CheckCRCHeuristic) ) ) for peer(0)
 130.700 Info MultiplayerManager.cpp:1861: maptick(2595523) crc after applying all ticks: 1375530371
 130.700 Info MultiplayerManager.cpp:996: networkTick(2980905) mapTick(2595523) changing state from(DesyncedAligning) to(DesyncedAligned)
 130.980 Info MultiplayerManager.cpp:1143: networkTick(2980917) mapTick(2595523) received stateChanged peerID(0) oldState(InGameAligning) newState(InGameAligned)
 130.980 Info MultiplayerManager.cpp:1143: networkTick(2980917) mapTick(2595523) received stateChanged peerID(8) oldState(DesyncedAligning) newState(DesyncedAligned)
 130.980 Info MultiplayerManager.cpp:2073: NetworkTick(2980917) reconnecting after map desync.
 130.980 Info MultiplayerManager.cpp:2236: NetworkTick(2980917) MapTick(2595523) disconnecting player(0) from the user.
 131.009 Info MultiplayerManager.cpp:996: networkTick(2980917) mapTick(2595523) changing state from(DesyncedAligned) to(DesyncedCreatingReport)
 131.178 Info MultiplayerManager.cpp:1143: networkTick(2980929) mapTick(2595523) received stateChanged peerID(8) oldState(DesyncedAligned) newState(DesyncedCreatingReport)
 131.961 Info MultiplayerManager.cpp:996: networkTick(2980977) mapTick(-1) changing state from(DesyncedCreatingReport) to(DesyncedWaitingForMap)
 131.978 Info NetworkInputHandler.cpp:771: mapTick(2595523) networkTick(2980977) disconnecting from player.
 132.180 Info MultiplayerManager.cpp:1143: networkTick(2980989) mapTick(-1) received stateChanged peerID(8) oldState(DesyncedCreatingReport) newState(DesyncedWaitingForMap)
 132.380 Info MultiplayerManager.cpp:1143: networkTick(2981001) mapTick(-1) received stateChanged peerID(0) oldState(InGameAligned) newState(InGameSavingMap)
 135.413 Info MultiplayerManager.cpp:1143: networkTick(2981183) mapTick(-1) received stateChanged peerID(0) oldState(InGameSavingMap) newState(InGameSendingMap)
 135.413 Downloading file C:/Users\repub\AppData\Roaming\Factorio\temp\mp-download.zip (11901127 B, 23661 blocks)
 135.417 Info MultiplayerManager.cpp:996: networkTick(2981183) mapTick(-1) changing state from(DesyncedWaitingForMap) to(DesyncedDownloadingMap)
 135.417 Info NetworkInputHandler.cpp:45: mapTick(2595523) networkTick(2981183) initialized NetworkInputHandler local peer(8).
 135.417 Info NetworkInputHandler.cpp:524: expectedMapTick(2595523) adding peer(0).
 135.417 Info Synchronizer.cpp:428: NetworkTick(2981183) mapTick(2595523) applying 16 pending tickClosures
 135.417 Info NetworkInputHandler.cpp:608: assigning playerIndex(65535) to peer(0)
 135.417 Info NetworkInputHandler.cpp:608: assigning playerIndex(65535) to peer(8)
 135.417 Info MultiplayerManager.cpp:1732: networkTick(2981183) mapTick(-1) adding mapAlignTask(SendPlayerJoinGameAlignTask)
 135.615 Info MultiplayerManager.cpp:1143: networkTick(2981195) mapTick(-1) received stateChanged peerID(8) oldState(DesyncedWaitingForMap) newState(DesyncedDownloadingMap)
 138.092 Finished download (2 s, 12 MB, 4.4 MB/s)
 138.165 Info MultiplayerManager.cpp:1218: networkTick(2981345) mapTick(-1) map download finished creating scenario
 138.165 Info MultiplayerManager.cpp:996: networkTick(2981345) mapTick(-1) changing state from(DesyncedDownloadingMap) to(DesyncedLoadingMap)
 138.166 Loading map C:/Users\repub\AppData\Roaming\Factorio\temp\mp-download.zip
 138.305 Info MultiplayerManager.cpp:1143: networkTick(2981357) mapTick(-1) received stateChanged peerID(8) oldState(DesyncedDownloadingMap) newState(DesyncedLoadingMap)
 138.377 Info Scenario.cpp:127: Map version 0.13.6-0
 138.516 Info MultiplayerManager.cpp:1143: networkTick(2981369) mapTick(-1) received stateChanged peerID(0) oldState(InGameSendingMap) newState(InGameWaitingForOthers)
 139.041 Checksum for script C:/Users/repub/AppData/Roaming/Factorio/temp/currently-playing/control.lua: 900459546
 139.044 Checksum for script __robotarmy__/control.lua: 2119717840
 139.074 Warning Thread.cpp:42: Thread exception: Access is denied.
 139.178 Error CrashHandler.cpp:108: Exception Code: c0000005, Address: 00007FF67A789640
 139.178 Error CrashHandler.cpp:118: Exception Context:
rax=0000000000000000, rbx=00000201acf72bc0, rcx=0000000000000000,
rdx=0000000000000000, rsi=0000000000000000, rdi=0000000000000000,
rip=00007ff67a789640, rsp=000000ca8bc5c708, rbp=000000ca8bc5fc60,
 r8=00000201d68d3240,  r9=0000000000000000, r10=0000000000000000,
r11=0000000000000064, r12=00000201d85d7400, r13=0000000000000040,
r14=00000201d85d7fe0, r15=000000ca8bc5c8c0
Factorio crashed. Generating symbolized stacktrace, please wait ...
c:\cygwin64\tmp\factorio-gmae0a\libraries\stackwalker\stackwalker.cpp (906): StackWalker::ShowCallstack
c:\cygwin64\tmp\factorio-gmae0a\src\util\logger.cpp (328): Logger::writeStacktrace
c:\cygwin64\tmp\factorio-gmae0a\src\util\logger.cpp (382): Logger::logStacktrace
c:\cygwin64\tmp\factorio-gmae0a\src\util\crashhandler.cpp (84): CrashHandler::writeStackTrace
c:\cygwin64\tmp\factorio-gmae0a\src\util\crashhandler.cpp (128): CrashHandler::SehHandler
ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 00007FFBAD307E1E)
00007FFBAD307E1E (KERNELBASE): (filename not available): UnhandledExceptionFilter
ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 00007FFBB0A7D998)
00007FFBB0A7D998 (ntdll): (filename not available): memset
ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 00007FFBB0A65B26)
00007FFBB0A65B26 (ntdll): (filename not available): _C_specific_handler
ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 00007FFBB0A79AFD)
00007FFBB0A79AFD (ntdll): (filename not available): _chkstk
ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 00007FFBB0A04FE9)
00007FFBB0A04FE9 (ntdll): (filename not available): RtlImageNtHeaderEx
ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 00007FFBB0A78C0A)
00007FFBB0A78C0A (ntdll): (filename not available): KiUserExceptionDispatcher
c:\cygwin64\tmp\factorio-gmae0a\libraries\allegro\src\display.c (311): al_get_display_flags
c:\cygwin64\tmp\factorio-gmae0a\libraries\allegro\addons\primitives\primitives.c (343): al_destroy_index_buffer_for_display
c:\cygwin64\tmp\factorio-gmae0a\libraries\allegro\addons\primitives\prim_directx.cpp (202): destroy_display_local_data
c:\cygwin64\tmp\factorio-gmae0a\libraries\allegro\addons\primitives\prim_directx.cpp (229): _al_shutdown_d3d_driver
c:\cygwin64\tmp\factorio-gmae0a\libraries\allegro\addons\primitives\primitives.c (63): al_shutdown_primitives_addon
c:\cygwin64\tmp\factorio-gmae0a\libraries\allegro\src\exitfunc.c (92): _al_run_exit_funcs
c:\cygwin64\tmp\factorio-gmae0a\libraries\allegro\src\system.c (315): al_uninstall_system
d:\th\minkernel\crts\ucrt\devdiv\vcruntime\inc\internal_shared.h (199): __crt_seh_guarded_call<int>::operator()<<lambda_e24bbb7b643b32fcea6fa61b31d4c984>,<lambda_275893d493268fdec8709772e3fcec0e> & __ptr64,<lambda_9d71df4d7cf3f480f8d633942495c3b0> >
d:\th\minkernel\crts\ucrt\src\appcrt\startup\onexit.cpp (222): _execute_onexit_table
d:\th\minkernel\crts\ucrt\src\appcrt\startup\exit.cpp (215): common_exit
c:\cygwin64\tmp\factorio-gmae0a\src\util\thread.cpp (46): `Thread::loop'::`1'::catch$1
f:\dd\vctools\crt\vcruntime\src\eh\amd64\handlers.asm (50): _CallSettingFrame
f:\dd\vctools\crt\vcruntime\src\eh\frame.cpp (1316): __CxxCallCatchBlock
ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 00007FFBB0A790E3)
00007FFBB0A790E3 (ntdll): (filename not available): RtlCaptureContext
c:\cygwin64\tmp\factorio-gmae0a\src\util\thread.cpp (34): Thread::loop
ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 00007FF67A954503)
00007FF67A954503 (Factorio): (filename not available): boost::thread::start_thread_noexcept
d:\th\minkernel\crts\ucrt\src\appcrt\startup\thread.cpp (115): thread_start<unsigned int (__cdecl*)(void * __ptr64)>
ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 00007FFBB0668102)
00007FFBB0668102 (KERNEL32): (filename not available): BaseThreadInitThunk
ERROR: SymGetLineFromAddr64, GetLastError: 487 (Address: 00007FFBB0A2C5B4)
00007FFBB0A2C5B4 (ntdll): (filename not available): RtlUserThreadStart
 140.087 Error CrashHandler.cpp:85: Map tick at moment of crash: 2595523
 140.087 Error Util.cpp:77: Unexpected error occurred. You can help us to solve the problem by posting the contents of the log file on the Factorio forums.
https://www.youtube.com/watch?v=6mjPUbRHpbE More so the video to youtube with me re-creating the error. Side notes, the error doesn't immediately kick in until after i approach conveyor belts. After 1-2 desyncs and 0 crash out, the game will not develop the factorio crash out error log until after a few seconds pass and i still have the yellow border droid deploy item in hand. If more people are in server, it can cause server to crash itself out, and on the server side it will generate similar errors as to what you see here on the client side error log

kyranzor
Filter Inserter
Filter Inserter
Posts: 499
Joined: Fri Oct 31, 2014 4:52 pm
Contact:

Re: [MOD 0.13] Robot Army. 0.1.44 on-load fix, chest fix

Post by kyranzor »

Ah man, that's a doosy. I've had a look though the log, and watched the video twice (once with no sound, and then again in case you talked, which you did, very quietly but I heard it) and I have a question:

Those rocket droids you deployed by hand ran off to the north, but you didn't crash - later when you were walking around in the south-eastern part of your base, it desync'd and everything went downhill. Can you be sure it was due to the fact you took the droids out of your inventory and into your hand, and waved it around a bit? Is it possible that's a coincident that was perfectly timed with something else going on (perhaps, with the rifle or rocket squad that went north and were probably getting some action?)

I have no idea what could have caused the crash/desync as a result of merely taking the droid item from your inventory into the cursor and having it appear near your character, and for this to happen only sometimes (rather than consistently, which makes it easier to see/test/fix).

This is such a strange bug, and it might actually be a Factorio game-related bug. If it's a deficiency in my mod, then it's going to be obscure. I'd like to do some tests. I will join that server (I see it's online, with 1 player currently) and grab the map and do some testing on my end in a local MP game.

edit: okay, so I joined the game and played around a bit, I managed to reproduce the desync twice - once when running around to the north, I pulled out the droid item from my inventory and I believe the desync happened when the entity ghost/placement indicator went over a patch of water. I also had the desync as I was running along and pulled out the droid items near the conveyor belts and splitter just below the steam engine setup. I had no desync when the placement was away from buildings/belts, and up north at the biter nest while in combat. The droid assembler worked fine, as expected and you have said.

I am still testing, but my preliminary conclusion is that there is a bug in Factorio that I somehow haven't encountered yet during my testing (not having tested near water much, or in heavily built-up factory areas). I propose the bug is related to how the entity placement ghost/indicator is handled for "entities", and certain situations seem to cause a desync. My droid entities are "Units" which are essentially biters, in fact the "Unit" type is only used for biters, and is considered by the devs to be biters in general. Biters ("Units") are not intended to be held by players and placed like that, so maybe there's a bug in how its handled that they haven't found either. In any case, I have the save map and I'm testing in local MP so i'll try and get a 100% repeatable situation to file a bug report.

edit2: okay, so it's repeatable. It's exactly the issue of the entity being in your hand, ready to place, and if you put your mouse ANYWHERE over a conveyor type object, it desyncs. That is belts, splitters, underground belt etc. I think it's because the game is trying to "move" the entity now that it's on a conveyor which if the entity was placed, would move it, but the player's still got it in his hand and it's not moving, so it screws up.

supernet2
Long Handed Inserter
Long Handed Inserter
Posts: 98
Joined: Tue Jun 28, 2016 1:18 am
Contact:

Re: [MOD 0.13] Robot Army. 0.1.44 on-load fix, chest fix

Post by supernet2 »

Sorry hadn't tweaked my mic. Windows 10 borked it hard, as the noise cancellation is fubared. I fixed the audio gain, but its like down 40% vs what it use to be on win7. Anyway we found our bug killer. On solo nothing will cause it to crash out (it just happens randomly it corrupts the map though), when your on multiplayer, the robot army entity bugs up and generates desync. Heres a quick vid of it happening. https://youtu.be/tBleHSlH0YI this was on a steam, and a DRM test build, and test server i threw up for afew minutes remotely.

kyranzor
Filter Inserter
Filter Inserter
Posts: 499
Joined: Fri Oct 31, 2014 4:52 pm
Contact:

Re: [MOD 0.13] Robot Army. 0.1.44 on-load fix, chest fix

Post by kyranzor »

Yep, exactly what I found in my own testing. Nice work, thanks for the video too I'm adding that link to my bug report about the whole "entity in hand touches belt and causes desync" thing. If you are interested the bug report is here viewtopic.php?f=7&t=28730

btw, I noticed in your server map quite a lot of the "deployed" items in chests. the deployed version of the droids is not something that should be taken out of the droid assembler, it's used by my script to detect that the deployment is done, and to trigger the spawning of a droid near the droid assembler. They are essentially useless to players, and in fact are really annoying because they only have 1 stack size (this is important, because the entire output inventory of the droid assembler is wiped when a droid is made, so having any more than 1 in the stack would waste them).

So avoid taking the "Deployed" variants out of the droid assemblers - let the assembler spawn the unit.

Post Reply

Return to “Mods”