Skip to content

Instantly share code, notes, and snippets.

@ubergarm
Last active November 3, 2020 20:46
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ubergarm/29862e77c56a7ec6c6e546abec3fc329 to your computer and use it in GitHub Desktop.
Save ubergarm/29862e77c56a7ec6c6e546abec3fc329 to your computer and use it in GitHub Desktop.
GiddyUpCore Multiplayer Compatibility Patch Beta Testing

Giddy-Up Core MP Patch Beta Testing

Setup

  • Giddy-Up Core MP Patch Beta installed locally at ~/.steam/steam/steamapps/common/RimWorld/Mods/GiddyUpCore
  • Caravan / Ride & Roll / Battle Mounts installed via Steam Workshop at ~/.steam/steam/steamapps/workshop/content/294100/

See: giddy-testing.xml for loaded mods

Version

$ sha1sum Assemblies/GiddyUpCore.dll
d8986e5ffa99d27f3397ccbb7c3459b93061f34b  Assemblies/GiddyUpCore.dll

Crash on pushing Mods Button

I can get into the flully mod manager initially and add the above 4x mods, but after it restarts and I try to go into mods folder again it crashes with the following log from cat /tmp/rimworld_log_1000:

Invalid packageId 'Core' resolved to 'ludeon.rimworld'
Obtained 26 stack frames.
#0  0x00000040dd8c8d in (Unknown)
#1  0x00000040ee5114 in System.Net.WebRequest:Create (System.Uri,bool)
#2  0x00000040ee3408 in System.Net.WebClient:DownloadStringTaskAsync (System.Uri)
#3  0x00000040ee2664 in System.Net.WebClient:DownloadStringTaskAsync (string)
#4  0x00000040ee1de0 in System.Runtime.CompilerServices.AsyncVoidMethodBuilder:Start<ModManager.VersionCheck/<FetchManifest>d__19> (ModManager.VersionCheck/<FetchManifest>d__19&)
#5  0x00000040ee1ac0 in ModManager.VersionCheck:FetchManifest (string)
#6  0x00000040edee80 in ModManager.ManifestExtensions:GetManifest (Verse.ModMetaData)
#7  0x00000040ede914 in ModManager.ModButtonManager:Notify_RecacheIssues ()
#8  0x007f0038dd8c93 in (wrapper dynamic-method) RimWorld.MainMenuDrawer:RimWorld.MainMenuDrawer.DoMainMenuControls_Patch3 (UnityEngine.Rect,bool)
#9  0x00000040ec399c in RimWorld.MainMenuDrawer:MainMenuOnGUI ()
#10 0x000000406ea5ea in (wrapper runtime-invoke) object:runtime_invoke_void__this__ (object,intptr,intptr,intptr)
#11 0x007f0118078389 in mono_print_method_from_ip
#12 0x007f01181e4167 in mono_perfcounter_foreach
#13 0x007f01181e5014 in mono_runtime_invoke
#14 0x00000000d6cfb4 in (Unknown)
#15 0x00000000d690e1 in (Unknown)
#16 0x000000006d3e46 in (Unknown)
#17 0x00000000d4c6e0 in (Unknown)
#18 0x000000006daa83 in (Unknown)
#19 0x000000006db1d8 in (Unknown)
#20 0x00000000c2306a in (Unknown)
#21 0x00000000c23128 in (Unknown)
#22 0x00000000c26550 in (Unknown)
#23 0x00000000435fba in (Unknown)
#24 0x007f011fb63152 in __libc_start_main
#25 0x00000000445d93 in (Unknown)

Crash on clicking Multiplayer button

I avoided pushing the Mods button after the above crash, and tried to go straight into hosting a multiplayer game for testing. However, it immedeately crashes on clicking the multiplayer button with:

Obtained 25 stack frames.
#0  0x0000004056bc8d in (Unknown)
#1  0x0000004068c28c in System.Net.Sockets.Socket:get_OSSupportsIPv6 ()
#2  0x007f36d2aa6389 in mono_print_method_from_ip
#3  0x007f36d2c12167 in mono_perfcounter_foreach
#4  0x007f36d2c14cef in mono_object_get_class
#5  0x007f36d2aed9bb in mono_set_break_policy
#6  0x000000418a65d7 in (wrapper managed-to-native) object:__icall_wrapper_mono_generic_class_init (intptr)
#7  0x007f36203c4a13 in (wrapper dynamic-method) RimWorld.MainMenuDrawer:RimWorld.MainMenuDrawer.DoMainMenuControls_Patch3 (UnityEngine.Rect,bool)
#8  0x00000040656e5c in RimWorld.MainMenuDrawer:MainMenuOnGUI ()
#9  0x000000418b15ea in (wrapper runtime-invoke) object:runtime_invoke_void__this__ (object,intptr,intptr,intptr)
#10 0x007f36d2aa6389 in mono_print_method_from_ip
#11 0x007f36d2c12167 in mono_perfcounter_foreach
#12 0x007f36d2c13014 in mono_runtime_invoke
#13 0x00000000d6cfb4 in (Unknown)
#14 0x00000000d690e1 in (Unknown)
#15 0x000000006d3e46 in (Unknown)
#16 0x00000000d4c6e0 in (Unknown)
#17 0x000000006daa83 in (Unknown)
#18 0x000000006db1d8 in (Unknown)
#19 0x00000000c2306a in (Unknown)
#20 0x00000000c23128 in (Unknown)
#21 0x00000000c26550 in (Unknown)
#22 0x00000000435fba in (Unknown)
#23 0x007f36da591152 in __libc_start_main
#24 0x00000000445d93 in (Unknown)

Results

I was unable to test because the game won't even let me host an MP server even with minimal mods list giddy-minimal-test.xml.

<?xml version="1.0" encoding="utf-8"?>
<ModList>
<Name>giddy-minimal-test</Name>
<modIds>
<li>brrainz.harmony</li>
<li>ludeon.rimworld</li>
<li>rwmt.multiplayer</li>
<li>unlimitedhugs.hugslib</li>
<li>roolo.giddyupcore</li>
<li>roolo.giddyupcaravan</li>
<li>roolo.giddyuprideandroll</li>
<li>roolo.giddyupbattlemounts</li>
<li>edb.preparecarefully</li>
<li>fluffy.modmanager</li>
</modIds>
<modNames>
<li>Harmony</li>
<li>Core</li>
<li>Multiplayer</li>
<li>HugsLib</li>
<li>Giddy-up! Core</li>
<li>Giddy-up! Caravan</li>
<li>Giddy-up! Ride and Roll</li>
<li>Giddy-up! Battle Mounts</li>
<li>EdB Prepare Carefully</li>
<li>Mod Manager</li>
</modNames>
</ModList>
<?xml version="1.0" encoding="utf-8"?>
<ModList>
<Name>giddy-testing</Name>
<modIds>
<li>brrainz.harmony</li>
<li>ludeon.rimworld</li>
<li>rwmt.multiplayer</li>
<li>rwmt.multiplayercompatibility</li>
<li>unlimitedhugs.hugslib</li>
<li>oblitus.animalslogic</li>
<li>uuugggg.smartmedicine</li>
<li>petetimessix.simplesidearms</li>
<li>roolo.runandgun</li>
<li>pathavoid.kv.rw</li>
<li>haplo.miscellaneous.training</li>
<li>avilmask.commonsense</li>
<li>codeoptimist.jobsofopportunity</li>
<li>smashphil.carrycapacityfixed</li>
<li>rimfridge.kv.rw</li>
<li>lwm.deepstorage</li>
<li>mehni.pickupandhaul</li>
<!-- addded core, caravan, ride and roll, and battle mounts here -->
<li>unlimitedhugs.defensivepositions</li>
<li>ari.forcedmarch</li>
<li>pinochemicali.skilledstonecutting</li>
<li>fuglypump.bulkstonecutting</li>
<li>fluffy.fluffybreakdowns</li>
<li>sf.grim.reality</li>
<li>weilbyte.snapout</li>
<li>dubwise.dubsbreakmod</li>
<li>hatti.cleaningarea</li>
<li>radzerp.naturalpaths</li>
<li>hobtook.mortaraccuracy</li>
<li>two.tilledsoil.140</li>
<li>vanillaexpanded.vbookse</li>
<li>spoonshortage.adogsaidanimalprosthetics</li>
<li>ogliss.ykara.harvesteverything</li>
<li>smuffle.harvestorganspostmortem</li>
<li>mlie.holywasher</li>
<li>ogliss.thewhitecrayon.quarry</li>
<li>pyrce.mass.graves</li>
<li>murmur.walllight</li>
<li>linafromsweden.simplymorefloors</li>
<li>cocaine.electricstonecuttingtable</li>
<li>neceros.animalmedicalbed</li>
<li>porohkun.concretewalls</li>
<li>troopersmith1.deathrattle</li>
<li>troopersmith1.lifesupport</li>
<li>tradingspot.kv.rw</li>
<li>5katz.commschat</li>
<li>smashphil.dropspot</li>
<li>syrchalis.doormats</li>
<li>murmur.tcu</li>
<li>zzz.invisibleconduit</li>
<li>orion.xevarimhair</li>
<li>mlie.foodalert</li>
<li>syrchalis.setupcamp</li>
<li>vanya.tools.blightedalert</li>
<li>crlsniper.realisticrooms</li>
<li>falconne.roomsense</li>
<li>crashm.colorcodedmoodbar.11</li>
<li>dubwise.dubsmintmenus</li>
<li>jaxe.rimhud</li>
<li>falconne.heatmap</li>
<li>uuugggg.gearupandgo</li>
<li>caesarv6.damageindicators</li>
<li>targhetti.showdrafteesweapon</li>
<li>dingo.grenadefixrearmed</li>
<li>brrainz.cameraplus</li>
<li>com.bymarcin.architecticons</li>
<li>proxyer.optionalicons4ai</li>
<li>automatic.bionicicons</li>
<li>greatboars.velcroboy333</li>
<li>uuugggg.whatismypurpose</li>
<li>notfood.yasp</li>
<li>bob.draggablecornerss</li>
<li>automatic.autolinks</li>
<li>revolus.textilestats</li>
<li>fluffy.relationstab</li>
<li>co.uk.epicguru.whatsthatmod</li>
<li>mehni.numbers</li>
<li>notfood.researchpal</li>
<li>frozensnowfox.complexjobs</li>
<li>edb.preparecarefully</li>
<li>gguake.ui.simplesearchbar</li>
<li>fluffy.modmanager</li>
</modIds>
<modNames>
<li>Harmony</li>
<li>Core</li>
<li>Multiplayer</li>
<li>Multiplayer Compatibility</li>
<li>HugsLib</li>
<li>Animals Logic</li>
<li>Smart Medicine</li>
<li>Simple sidearms</li>
<li>RunAndGun</li>
<li>[KV] Path Avoid</li>
<li>Misc. Training</li>
<li>Common Sense</li>
<li>Jobs of Opportunity (While You're Up)</li>
<li>Carry Capacity Fixed</li>
<li>[KV] RimFridge</li>
<li>LWM's Deep Storage</li>
<li>Pick Up And Haul</li>
<li>Defensive Positions</li>
<li>Forced March</li>
<li>Skilled Stonecutting</li>
<li>Bulk Stonecutting</li>
<li>Fluffy Breakdowns</li>
<li>SF Grim Reality</li>
<li>Snap Out!</li>
<li>Dubs Break Mod</li>
<li>CleaningArea</li>
<li>Natural Paths</li>
<li>Mortar Accuracy</li>
<li>Two's Tilled Soil - 140%</li>
<li>Vanilla Books Expanded</li>
<li>A Dog Said... Animal Prosthetics</li>
<li>Harvest Everything!</li>
<li>Harvest Organs Post Mortem</li>
<li>HolyWasher (Continued)</li>
<li>Quarry 1.1</li>
<li>Mass Graves</li>
<li>Wall Light</li>
<li>SimplyMoreFloors</li>
<li>Electric Stonecutting Table</li>
<li>Animal Medical Bed</li>
<li>Concrete Walls</li>
<li>Death Rattle Continued [1.2]</li>
<li>Life Support Continued [1.1][1.2]</li>
<li>[KV] Trading Spot</li>
<li>Chatting on Comms</li>
<li>Trade Ships Drop Spot</li>
<li>[SYR] Doormats</li>
<li>Temperature Control Unit</li>
<li>Invisible Conduit</li>
<li>Xeva's Rimhair</li>
<li>Food Alert (Continued)</li>
<li>[SYR] Set Up Camp</li>
<li>Blighted Alert</li>
<li>Realistic Rooms</li>
<li>Room Sense</li>
<li>CM Color Coded Mood Bar [1.1+]</li>
<li>Dubs Mint Menus</li>
<li>RimHUD</li>
<li>Heat Map</li>
<li>Gear Up And Go</li>
<li>Damage Indicators [1.2]</li>
<li>Show Draftees Weapon</li>
<li>Grenade Fix: Rearmed</li>
<li>Camera+</li>
<li>Architect Icons</li>
<li>Optional Icons for Architect Icons</li>
<li>Bionic icons</li>
<li>Great Boars Restored</li>
<li>What Is My Purpose</li>
<li>Yet Another Stockpile Presets</li>
<li>[1.1]DraggableCorners</li>
<li>Auto links</li>
<li>Textile Stats</li>
<li>Relations Tab</li>
<li>What's That Mod</li>
<li>Numbers</li>
<li>ResearchPal</li>
<li>[FSF] Complex Jobs</li>
<li>EdB Prepare Carefully</li>
<li>Simple Search Bar</li>
<li>Mod Manager</li>
</modNames>
</ModList>

Same Tests Under Windows 10

Good news: it starts up fine and doesn't bug out like it does in linux! Bad news: can still get it to desync w/ arbiter during local testing by having 2 pawns mount two different muffalo and shooting at each other

\AppData\LocalLow\Ludeon Studios\RimWorld by Ludeon Studios\player.log

Garm 3463818 Invoked Void set_Drafted(Boolean) on RimWorld.Pawn_DraftController with 1 params True
Garm 3463842 Cmd: Sync, faction: 10, map: 0, ticks: 3463848
Garm 3463848 Invoked delegate method Void <GotoLocationOption>b__0() RimWorld.FloatMenuMakerMap+<>c__DisplayClass13_0
Garm 3464129 Cmd: Sync, faction: 10, map: 0, ticks: 3464133
Garm 3464133 Invoked delegate method Void <GotoLocationOption>b__0() RimWorld.FloatMenuMakerMap+<>c__DisplayClass13_0
Garm 3464294 Cmd: Sync, faction: 10, map: 0, ticks: 3464301
Garm 3464297 Cmd: Sync, faction: 10, map: 0, ticks: 3464302
Garm 3464301 Invoked delegate method Void <GotoLocationOption>b__0() RimWorld.FloatMenuMakerMap+<>c__DisplayClass13_0
Garm 3464302 Invoked delegate method Void <GotoLocationOption>b__0() RimWorld.FloatMenuMakerMap+<>c__DisplayClass13_0
Garm 3465013 Cmd: Sync, faction: 10, map: 0, ticks: 3465018
Garm 3465018 Invoked Void OrderForceTarget(Verse.LocalTargetInfo) on Verse.Verb_Shoot(pump shotgun) with 1 params Thing_Human1474759
Garm 3465121 Desynced after tick 3465061: Wrong random state on map 0

\steamapps\common\RimWorld\local_traces.txt

Trace of first desynced map random state:
23 Tick:3465094 Hash:-1799538443 ''
  at Verse.Rand.Verse.Rand.get_Value_Patch1 () [0x00000] in <d72310b4d8f64d25aee502792b58549f>:0 
  at RimWorld.TaleRecorder.RecordTale (RimWorld.TaleDef def, System.Object[] args) [0x00000] in <d72310b4d8f64d25aee502792b58549f>:0 
  at Verse.Pawn_HealthTracker.PreApplyDamage (Verse.DamageInfo dinfo, System.Boolean& absorbed) [0x00000] in <d72310b4d8f64d25aee502792b58549f>:0 
  at Verse.Pawn.PreApplyDamage (Verse.DamageInfo& dinfo, System.Boolean& absorbed) [0x00000] in <d72310b4d8f64d25aee502792b58549f>:0 
  at Verse.Thing.Verse.Thing.TakeDamage_Patch3 (Verse.Thing , Verse.DamageInfo ) [0x00000] in <d72310b4d8f64d25aee502792b58549f>:0 
  at RimWorld.Bullet.Impact (Verse.Thing hitThing) [0x00000] in <d72310b4d8f64d25aee502792b58549f>:0 
  at Verse.Projectile.ImpactSomething () [0x00000] in <d72310b4d8f64d25aee502792b58549f>:0 
  at Verse.Projectile.Verse.Projectile.Tick_Patch2 (Verse.Projectile ) [0x00000] in <d72310b4d8f64d25aee502792b58549f>:0 
  at Verse.TickList.Tick () [0x00000] in <d72310b4d8f64d25aee502792b58549f>:0 
  at Multiplayer.Client.MapAsyncTimeComp.Tick () [0x00000] in <70e2a53003de4f0a83e3fb3542856a17>:0 
  at Multiplayer.Client.TickPatch.TickTickable (Multiplayer.Client.ITickable tickable) [0x00000] in <70e2a53003de4f0a83e3fb3542856a17>:0 
  at Multiplayer.Client.TickPatch.Tick () [0x00000] in <70e2a53003de4f0a83e3fb3542856a17>:0 
  at Multiplayer.Client.TickPatch.Prefix () [0x00000] in <70e2a53003de4f0a83e3fb3542856a17>:0 
  at Verse.TickManager.Verse.TickManager.TickManagerUpdate_Patch2 (Verse.TickManager ) [0x00000] in <d72310b4d8f64d25aee502792b58549f>:0 
  at Verse.Game.UpdatePlay () [0x00000] in <d72310b4d8f64d25aee502792b58549f>:0 
  at Verse.Root_Play.Update () [0x00000] in <d72310b4d8f64d25aee502792b58549f>:0 
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment