TeamCoop

by Darkcry

Teams can build their own Factory with separate research. By default the rocket silo can not be build by players but there is one randomly spawned in the world

3 years ago
0.14 - 1.1
1.07K

b "The mod TeamCoop caused a non-recoverable error. Please report this error to the mod author."

5 years ago

Hi Darkcry,

I am running a factorio 0.17.11 headless server (or at least I think that's the version. My hoster only provides me the build number 3635924 and Information that it's the latest build for 0.17.x).

When creating my map locally I don't have any issues and the mod works fine, also in conjunction with all my other mods. I save that freshly generated game and copy tha game file as well as all the migrations to the server. When I try to start the server I get the Error as in this ticket's title. If I do all this without your mod installed, copy the files as described and then start the server it runs without problems.

Here's an excerpt from my logfile:

11.990 Error ServerMultiplayerManager.cpp:92: MultiplayerManager failed: "The mod TeamCoop caused a non-recoverable error.
Please report this error to the mod author.

Error while running event TeamCoop::on_init()
Invalid surface name: Surface names must not be blank and must be unique.
stack traceback:
TeamCoop/utils.lua:895: in function 'CreateGameSurface'
TeamCoop/control.lua:73: in function <TeamCoop/control.lua:64>
stack traceback:
[C]: in function 'create_surface'
TeamCoop/utils.lua:895: in function 'CreateGameSurface'
TeamCoop/control.lua:73: in function <TeamCoop/control.lua:64>
11.990 Info ServerMultiplayerManager.cpp:714: updateTick(4294967295) changing state from(CreatingGame) to(InitializationFailed)
11.990 Info GlobalContext.cpp:678: Waiting for child processes to exit:
11.993 Info ServerMultiplayerManager.cpp:138: Quitting multiplayer connection.
11.993 Info ServerMultiplayerManager.cpp:714: updateTick(4294967295) changing state from(InitializationFailed) to(Closed)
12.047 Info UDPSocket.cpp:210: Closing socket
12.052 Goodbye

And here's my full mod list:
AfraidOfTheDark 1.0.21
AsphaltRoads 1.1.4
base 0.17.11
Big_Brother 0.5.0
BotRecaller 0.17.3
Bottleneck 0.10.0
bullet-trails 0.4.1
cheaper_landfill 1.7.0
ClosestFirst 0.17.3
deadlock-beltboxes-loaders 2.0.8
Epic-Artillery-Sounds 1.0.1
even-distribution 0.3.1
Explosive Excavation 1.1.5
FactorioExtended-Plus-Core 0.2.0
FactorioExtended-Plus-Equipment 0.2.1
FactorioExtended-Plus-Logistics 0.2.1
FactorioExtended-Plus-Machines 0.2.1
FactorioExtended-Plus-Power 0.2.2
FactorioExtended-Plus-Storage 0.2.2
FactorioExtended-Plus-Transport 0.2.2
FactorioExtended-Plus-Weaponry 0.2.2
Flow Control 3.0.4
FNEI 0.2.1
helmod 0.8.3
Infinizoom 0.1.3
LogisticTrainNetwork 1.10.2
MaxRateCalculator 3.0.20
MushroomCloud 1.0.4
NapalmArtillery 0.17.4
nicefill 0.1.11
power-grid-comb 0.17.2
Realistic_Electric_Trains 0.3.1
Robo-Charge-1x1 0.17.0
rso-mod 4.0.2
SantasNixieTubeDisplay 0.1.8
SpaceMod 0.4.1
Squeak Through 1.3.0
textplates 0.4.1
VehicleSnap 1.17.0
Vehicle-turrets 0.1.12
vtk-deep-core-mining 1.17.1
Warehousing 0.2.1
YARM 0.7.402

I tried googling a solution to this but my understanding of lua is very limited. To me this looks like maybe when the server starts the mod tries to treat the server like a player and assign it it's own starting area? Or not, but the error says something about a surface parameter not being provided - maybe some function signature is different when running in headless mode. Just a guess.

5 years ago

and did you try to run the server only with TeamCoop? I think one the other mods creates already a surface with the same name as i use. I update the mod soon with a more custom surface name that should not interfere with other mods

5 years ago

As for mods that might interfere with surfaces I use RSO (which your mod lists as dependency I think so I wouldn't expect any conflicts there) and NiceFill, Deep Core Mining, AsphaltRoads, and TextPlates, one or multiple of which might be the troublemaker.

Thanks for your tip, I will try this as soon as I get home today and will report back with my findings :)

5 years ago
(updated 5 years ago)

DISREGARD THIS REPLY, I DIDN'T UPDATE YOUR MOD BEFORE TESTING. Ill leave the reply up for the information value, but I'm beyond this now...

Okay so I uninstalled cheaperLandfill because I don't want it anymore, and for testing reasons I deactivated AsphaltRoads, NiceFill, TextPlates and Deep Core Mining.

I then loaded the savegame and had my client migrate the mod settings, then saved it and uploaded that File to the Server along with the new mod-list.json and mod-settings.dat

Server still crashes on start, this time with a different exception:

9.431 Error ServerMultiplayerManager.cpp:92: MultiplayerManager failed: "The mod TeamCoop caused a non-recoverable error.
Please report this error to the mod author.

Error while running event TeamCoop::on_init()
Force already exists
stack traceback:
TeamCoop/separate_spawns.lua:185: in function 'InitSpawnGlobalsAndForces'
TeamCoop/control.lua:76: in function <TeamCoop/control.lua:64>
stack traceback:
[C]: in function 'create_force'
TeamCoop/separate_spawns.lua:185: in function 'InitSpawnGlobalsAndForces'
TeamCoop/control.lua:76: in function <TeamCoop/control.lua:64>
9.431 Info ServerMultiplayerManager.cpp:714: updateTick(4294967295) changing state from(CreatingGame) to(InitializationFailed)
9.431 Info GlobalContext.cpp:678: Waiting for child processes to exit:
9.433 Info ServerMultiplayerManager.cpp:138: Quitting multiplayer connection.
9.433 Info ServerMultiplayerManager.cpp:714: updateTick(4294967295) changing state from(InitializationFailed) to(Closed)
9.464 Info UDPSocket.cpp:210: Closing socket
9.464 Goodbye

I'll post the next findings below

5 years ago
(updated 5 years ago)

Okay so I managed to get the server to start. TeamCoop 2.0.1 this time :) Also my mod loadout is the same as initially posted, minus cheaperLandfill (see previous reply), but other than that they're all enabled.

Also noteworthy: Factorio updated to 0.17.12 while I am testing this.

Server starts up and transitions to InGame successfully before I log in (worked in 0.17.11, but this log excerpt is from 0.17.12 already):

8.049 Info ServerMultiplayerManager.cpp:714: updateTick(3258) changing state from(CreatingGame) to(InGame)
8.120 Info ServerRouter.cpp:606: Asking pingpong servers (pingpong1.factorio.com:34197, pingpong2.factorio.com:34197, pingpong3.factorio.com:34197, pingpong4.factorio.com:34197) for own address
8.121 Info UDPSocket.cpp:39: Opening socket for broadcast
8.141 Info RemoteCommandProcessor.cpp:130: Starting RCON interface at port 34198
8.230 Info ServerRouter.cpp:485: Own address is IP ADDR:({xxx.xxx.xxx.xxx:34197}) (confirmed by pingpong1)
8.248 Info ServerRouter.cpp:485: Own address is IP ADDR:({xxx.xxx.xxx.xxx:34197}) (confirmed by pingpong3)
8.392 Info ServerRouter.cpp:485: Own address is IP ADDR:({xxx.xxx.xxx.xxx:34197}) (confirmed by pingpong4)
8.790 Info MatchingServer.cpp:86: Matching server game 4689128 has been created.
8.802 Info ServerMultiplayerManager.cpp:643: Matching server connection resumed

Then when I try to connect, it freezes and crashes (also happened in 0.17.11, and also this log is from 0.17.12 now):

97.058 Info GameActionHandler.cpp:4017: UpdateTick (8579) processed PlayerJoinGame peerID(1) playerIndex(0) mode(connect)
97.058 Error MainLoop.cpp:1128: Exception at tick 8579: The mod TeamCoop caused a non-recoverable error. Please report this error to the mod author.

Error while running event TeamCoop::on_player_joined_game (ID 43)
Invalid surface name or index.
stack traceback:
TeamCoop/separate_spawns.lua:228: in function 'SendPlayerToSpawn'
TeamCoop/control.lua:163: in function <TeamCoop/control.lua:161>
stack traceback:
[C]: in function 'teleport'
TeamCoop/separate_spawns.lua:228: in function 'SendPlayerToSpawn'
TeamCoop/control.lua:163: in function <TeamCoop/control.lua:161

So there's the "Invalid surface name or index" again. I'll keep testing with different permutations of the potential troublemaker mods deactivated, but hey I got farther than last time :)

5 years ago

I deactivated ALL my mods except TeamCoop and now it works. This issue can be treated as resolved :)

I'll spend the time to reactivate my mods one by one now and then I will reply the mod that conflicts with yours so if you want to you can have a look into that one and maybe work something out from that.

5 years ago

It was Resource Spawner Overhaul... rso-mod_4.0.3.zip

I deactivated it now and I won't need it because it spwns ultra worms on my far away starting location and that wont work for nobody :D

So I'm all set up now and ready to play :) Thanks for your hint and also for the quick mod update!!

5 years ago

was the last log post from an old save game? if so that would explain the error "invalid surface name" because i changed that name in version 2.0.1
the enemy spawning issue by RSO was always there but i found the solution by adding RSO as a optional dependency so my mod is executed after RSO and can remove the nasty aliens

5 years ago

I can't tell anymore, but might be. The map that is currently running on the server with your mod was generated with TeamCoop 2.0.1 and works :)

I have another issue though but will open another bug ticket for that so others may more easily find it. Hope it's not something I could've found out myself again but I really read into your descriptions and the mod settings this time :)

New response