Announcement

Collapse
No announcement yet.

Med Mod 2 Multiplayer Crash

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Med Mod 2 Multiplayer Crash

    Hey wanted to first thank you guys for making such a great mod for CTP2. It works great for me single player and makes the game substantially more fun.

    However, when I try to play a multiplayer game with 2 humans and 6 AIs, the game will crash to the desktop (on the host/Player 1 machine) under the following circumstance(s):

    * Player 2 (the non-host) conquers a city which is the last city of an AI civ and ends their turn. On the way to player 1's turn, the game appears to crash when it gets to where the conquered AI civ would have its turn.

    * When I try the multiplayer game as singleplayer right before Player 2 conquers the civ (with the CPU taking over for Player 1 in this case), there is no crash.

    * In multiplayer, if Player 1 conquers the civ instead, the game will crash after Player 1's turn ends.

    * Crash occurs on Win98, WinME and WinXP as the host.

    * Doesn't matter if either Player 1 or Player 2 chooses to 'bloodbath' or 'extend empire' or if the city gets destroyed because it's a size 1.

    * One of the MP save games from my debugging is attached where either Player 1 or Player 2 can take the city after a turn.

    * This is v2.1 of the mod, with the most recent (as far as I can tell) version of Wouter's SLC file that addressed the city disband crashing.

    --

    I tried turning off some of the triggers in Wouter's scripts, specifically commenting out the militia and partisan code. The partisan code shouldn't have mattered since we didn't reach Nationlism.

    Any help would be appreciated, I'm hankering to play this mod multiplayer and its been so great single player!
    Attached Files

  • #2
    Let's try to keep this in the proper thread...

    Have you tried disabling *all* SLIC code for MedMod and/or Cradle? Then we can be absolutely certain the error is in the SLIC code and not in the text-file settings. To do this, just go into the relevant gamedata.txt file ([MM2|CRA]_gamefile.txt) and replace '[MM2|CRA]_script.slc' with 'script.slc'. Does the crash still occur after this? (It would be best to start a new game to test this)
    Administrator of WePlayCiv -- Civ5 Info Centre | Forum | Gallery

    Comment


    • #3
      See results of testing in thread below.

      Comment


      • #4
        Okay problem is isolated to the CRAG_script.slc file.

        I played two quick multiplayer games where I gave myself 5 settlers and 100000 gold.

        Game#1: I kept CRAG_gamefile.txt (which is the 1.3 Beta gamefile) pointing to CRAG_script.slc. Cranked out 5 chariots with Player 1 (the host), zoomed over to a neighbor and wiped them out. When I ended the turn, crash to desktop. I know I was using the Cradle SLIC, since both of us had militia.

        Game #2: Changed CRAG_gamefile.txt to point to just scripts.slc and restarted the game. Cranked out 5 chariots again with Player 1 (the host) and zoomed to a neighbor. Conquered them -- no crash upon ending turn. Conquered another neighbor, no crash. No militia this game for me, so I know the Cradle scripts were disabled.

        At least it's isolated. I suppose I can now start removing specific scripts, one at a time, to identify which was is causing it to bomb.

        Any suggestions on the order of attack?

        Comment


        • #5
          I have only the following advice (which is probably fairly obvious):

          First comment out all other file references at the bottom of the file. If that removes the bug proceed to removing the first half, etc. Halving the number of suspects each time you should need only 4 tests. Then if you're lucky and it appears to be just one files fault, look in that for triggers which happen on the relevant events (City conquest, civ conquest, start of turn, etc.) and fiddle.

          However, it's probably due to a combination of triggers so it won't be so easy.

          Also, of course, many of the triggers are interdependant and it will cause crashes if they're removed without their fellow triggers.

          Good luck

          Comment


          • #6
            Ok, I re-enabled CRAG_script.SLC, but commented a few specific ones out:


            //#include "CRA_capturecity.slc"

            //#include "CRA_homeguard.slc"

            //#include "CRA_springfield.slc"

            //#include "CRA_frenzy.slc"


            With those guys gone, it crashes. So it doesn't look like it's the millitia code, building destruction, AI capitol rebuilding or frenzy code.

            Next game, I commented the following out:

            //#include "CRA_diplomod.slc"

            //#include "CRA_pow.slc"

            //#include "CRA_disasters.slc"

            //#include "CRAI_KillCityOption.slc"

            //#include "CRAI_FortsForAIs.slc"

            //#include "CRAI_ComImpSForAIs2.slc"


            And... CONQUERED TWO CIVS - NO CRASH.


            Third game, I had only these two commented out:

            //#include "CRA_diplomod.slc"

            //#include "CRA_pow.slc"


            And again... conquered two civs - no crash. Final test game coming up where I determine who the culprit is.


            Game #4, with only one script commented out:

            //#include "CRA_pow.slc"


            And - CRASH! Looks like CRA_diplomod.slc is the culprit in my multiplayer crashes! So now I wonder which trigger inside is the real culprit... although I don't have a problem playing without this mod to avoid the crashing in the future.

            Comment


            • #7
              Isn't diplomod in the Apolyton Pack as well though? Why would it cause a crash in one but not the other?
              Concrete, Abstract, or Squoingy?
              "I don't believe in giving scripting languages because the only additional power they give users is the power to create bugs." - Mike Breitkreutz, Firaxis

              Comment


              • #8
                Just did a diff between APOL_diplomod.slc and CRA_diplomod.slc...

                And, guess what? Apolyton pack uses Diplomod v3.6 and Cradle has Diplomod v3.5... there's about 30 lines of difference, where a few of the differences are use of g.player instead of player[0] and vice versa.

                Going to try my test with the APOL_diplomod.slc (so v3.6) and see how it jives.

                Comment


                • #9
                  If that doesn't work try it with just diplomod (all the others commented out) and see if you still get crashes. It might be due to a combination of things.

                  Comment


                  • #10
                    While you're doing all this, have DebugSlic set to 'Yes'; you'll get better error messages.

                    Comment


                    • #11
                      See what happens when I decide to stay home and telecommute? I end up getting side-tracked into solving CTP2 problems. =)

                      At any rate, tried out Diplomod 3.6 under Cradle (replaced the CRA_diplomod.slc file with my APOL_diplomod.slc file, as well as updated CRA_diplomod_str.txt).

                      And... still crashes! However, Diplomod 3.6 works fine with Apolyton mod, as well as a mod I cranked out with all of the Cradle units but based on the Apolyton SLCs.

                      So, there's some funky combination of Cradle and Diplomod (3.5 or 3.6) which causes this crash...

                      --

                      With DebugSLIC=Yes, I just see the usual assortment of 'invalid # of arguments in isHumanPlayer' messages. Then as I conquer the AI civ, I get another of those in a CaptureCity trigger, then the crash to desktop.

                      Comment


                      • #12
                        Originally posted by Peter Triggs
                        While you're doing all this, have DebugSlic set to 'Yes'; you'll get better error messages.
                        What exactly does DebugSlic do?

                        Comment


                        • #13
                          My one concern is that Diplomod is one of the SLICS that will affect AI action in the game - it is actually a code that rewrote one of the base SLIC codes that came with the game - most of the other codes were add-ons.

                          There should be a copy of Diplo 3.6 as part of the files. Look for the files

                          CRAP_diplomod.slc
                          CRAP_diplomacy.txt
                          CRAP_Strings.txt
                          CRAP_diplomod_str.txt
                          in your setup

                          You can (after making a backup of the 3.5 originals) rename the above files using the CRA_ prefix and thus activate Diplo 3.6.

                          Run your test...

                          This is assuming that Dale has used Diplo 3.6 in the Apolyton Pack. But at the same time, I think MedMod uses 3.6.

                          You may also try to use the default diplomacy files in the game and see if that causes a crash.
                          Yes, let's be optimistic until we have reason to be otherwise...No, let's be pessimistic until we are forced to do otherwise...Maybe, let's be balanced until we are convinced to do otherwise. -- DrSpike, Skanky Burns, Shogun Gunner
                          ...aisdhieort...dticcok...

                          Comment


                          • #14
                            BTW, this is what happens when I am at work and am not busy
                            Yes, let's be optimistic until we have reason to be otherwise...No, let's be pessimistic until we are forced to do otherwise...Maybe, let's be balanced until we are convinced to do otherwise. -- DrSpike, Skanky Burns, Shogun Gunner
                            ...aisdhieort...dticcok...

                            Comment


                            • #15
                              Yes, did all that to try out Diplomod 3.6 under Cradle. And you are correct, MedMod does use 3.6, and I see the crashing there as well when an AI civ is conquered.

                              At any rate, 3.6 under Cradle also crashes, but Diplomod 3.6 doesn't crash under Apolyton. Which leaves us to it being a combo of two mods. At any rate, I ran the latest test using this SLIC combo:

                              #include "CRA_airunit.slc"

                              //#include "CRA_capturecity.slc"

                              //#include "CRA_homeguard.slc"

                              //#include "CRA_springfield.slc"

                              #include "CRA_wonderbuildings.slc"

                              #include "CRA_wonderunits.slc"

                              //#include "CRA_frenzy.slc"

                              #include "CRA_diplomod.slc"

                              //#include "CRA_pow.slc"

                              #include "CRAG_updater.slc"

                              #include "CRA_disasters.slc"

                              #include "CRA_Goods.slc"

                              #include "CRA_soundfix.slc"

                              //#include "CRAI_KillCityOption.slc"

                              //#include "CRAI_FortsForAIs.slc"

                              //#include "CRAI_ComImpSForAIs2.slc"

                              //#include "CRAI_pw_cheat.slc"

                              #include "CRAI_infras.slc"


                              Result: still crashes. Going to try it with Diplo 3.6 *only* and see what happens.

                              Comment

                              Working...
                              X