flathub / at.vintagestory.VintageStory

https://flathub.org/apps/details/at.vintagestory.VintageStory
4 stars 1 forks source link

Add missing assemblies #39

Closed mard closed 1 year ago

mard commented 1 year ago

Fixes #38

Changes

There are two changes introduced in the build process:

into the app.

Impact

It eliminates most crashes caused by joining to modded multiplayer games.

Without this patch, some mods crash the game due to missing assemblies, especially netstandard and others, that are a part of facades.

Other mods cause crashes due to missing C# compiler. This is because VS allows writing source code mods in pure C#, and they are compiled on the fly by the game. This requires the presence of mcs assembly.

This also increases compatibility with mods in singleplayer games. Mods that cause the game to crash in multiplayer, in singleplayer they fail silently, the game starts without these mods loaded.

As for the impact in application size, facades are very small in size. Total increase in size because of facades is about 775 kb, and mcs weights around 1.7 mb.

Tests

I've been able to test the changes with local flatpak build on servers I've had previously problems with.

The following multiplayer v1.18.1 servers were previously always crashing upon joining, but not anymore:

Middarstead

advancedsmithing@1.3.0, metalrecoverydon@1.0.1, furniturelibrary@1.0.8, medieval@2.01.06, NoMoreDrifterThrowing@1.0.0, ragnamans-lit-torch-recipe@1.0.0, usefuldrifterloot@1.0.2, game@1.18.1, wildcrafttrees@1.1.5, carryon@1.0.0, petai@1.7.0, stillnecessaries@1.0.0, vanvar@3.1.1, creative@1.18.1, survival@1.18.1, woodbarrels@1.0.4, woodchests@1.0.5, workbenchexpansion@1.6.0, wolftaming@1.7.1, roadworks@1.0.9

{CoB} Conquest of Blocks

acorns@0.5.1, bettercrates@1.6.0, Ceramos@0.3.1, chiseltools@1.8.4, drdecor@1.2.0, extrachests@1.7.0, foundrymod@1.0.0, furniturelibrary@1.0.8, instruments@1.2.0, spyglass@0.4.5, tprunes@1.0.8, thecritterpack@0.7.6, game@1.18.1, carryon@1.0.0, carryonmore@1.5.0, commonlib@2.0.4, sailboat@1.0.0, petai@1.7.0, rifteye@0.1.3, simplestep@1.0.3, creative@1.18.1, vsquest@0.4.1, survival@1.18.1, workbenchexpansion@1.6.1, xlib@0.7.0-pre.3, awearablelight@1.0.4, captureanimals@2.5.0, cob@1.0.8, em@2.0.0-pre.5, playercorpse@1.7.1, wolftaming@1.7.0, xskills@0.7.0-pre.5, bricklayers@2.0.0-pre.4

Teamwork

meteoricexpansion@1.2.3, game@1.18.1, wildcrafttrees@1.1.5, carryon@1.0.0, creative@1.18.1, survival@1.18.1

Hell's Gate - [Homepoints] [PvE]

canmarket@0.2.2, chiseltools@1.8.4, composter@1.0.4, FlexibleTools@2.1.0, furniturelibrary@1.0.8, HangingOilLamps@1.0.1, mannequinstand@1.0.1, medieval@2.01.08, meteoricexpansion@1.2.3, nightwatcher@1.4.0, pieontheshelf@1.0.0, qptech@1.13.02, game@1.18.1, alchemy@1.6.9, animalcages@2.1.4, carryon@1.0.0, commonlib@2.0.4, lc@1.0.0, medievalexpansion@3.9.1, morepiles@1.3.0, petai@1.7.0, usefulstuff17@1.1.3, vanvar@3.1.1, creative@1.18.1, survival@1.18.1, workbenchexpansion@1.6.0, cats@1.7.0, floating-landmasses@1.0.6, foxtaming@1.2.0, playercorpse@1.7.1, tpnet@1.10.1, wolftaming@1.7.1

There seems to be a non-fatal problem with animalcages mod, the same as it's on native install, so I'm not concerned.

Reforged 118 Hardmode

bettercrates@1.6.0-rc.1, cairns@1.0.0, compass2@2.0.0, cropsconfig@1.0.0, hqzlights@1.1.1, pantherinae@1.0.3, instruments@1.2.0, meteoricexpansion@1.2.3, moreclasses@1.2.5, nightwatcher@1.4.0, game@1.18.1, alchemy@1.6.9, animalcages@2.1.4, carryon@1.0.0-rc.2, coinage@1.3.0, commonlib@2.0.4, immersivecrafting@1.1.1, sailboat@1.0.0, medievalexpansion@3.9.1, petai@1.7.0, scarecrow@1.2.3, stillnecessaries@1.0.0, stonebakeoven@1.0.0, usefulstuff17@1.1.3, creative@1.18.1, vsquest@0.4.1, survival@1.18.1, vsvillage@0.7.2, xlib@0.7.0-pre.3, em@2.0.0-pre.5, feverstonewilds@1.2.0, playercorpse@1.7.1, xskills@0.7.0-pre.5, bricklayers@2.0.0-pre.4

Notes

Some other servers I tested still crash the game with both my flatpak install and my native install, so it seems to be a Linux-related problem in general. It won't be addressed here.

Keep in mind the fix applies for all versions of the game.

flathubbot commented 1 year ago

Started test build 37441

flathubbot commented 1 year ago

Build 37441 successful To test this build, install it from the testing repository:

flatpak install --user https://dl.flathub.org/build-repo/20086/at.vintagestory.VintageStory.flatpakref
mard commented 1 year ago

I additionally did some testing on very heavily modded 1.17.11 servers on buildbot artifact. Works beautifully, I hope it gets reviewed soon.

flathubbot commented 1 year ago

Started test build 37812

flathubbot commented 1 year ago

Build 37812 successful To test this build, install it from the testing repository:

flatpak install --user https://dl.flathub.org/build-repo/20457/at.vintagestory.VintageStory.flatpakref
jascrain commented 1 year ago

I don't often play on servers, but this does appear to fix the issue. Thank you!