thomaswp / BeaverBuddies

GNU General Public License v3.0
16 stars 2 forks source link

Update 6 compatibility #23

Closed ST-DDT closed 1 month ago

ST-DDT commented 2 months ago

Describe what you want the mod to be able to do

I would like to use the Multiplayer Mod with Update 6.

Describe alternatives you've considered

Patiently waiting on multiplayer support.

Additional context

Please don't feel pressured by this feature request. This is only intended as a thing I can subscribe to get notified once it is ready. Thanks for your awesome mod.

ST-DDT commented 2 months ago

This is likely blocked by https://github.com/Timberborn-Modding-Central/TimberAPI/issues/100

KYPremco commented 2 months ago

Describe what you want the mod to be able to do

I would like to use the Multiplayer Mod with Update 6.

Describe alternatives you've considered

Patiently waiting on multiplayer support.

Additional context

Please don't feel pressured by this feature request. This is only intended as a thing I can subscribe to get notified once it is ready. Thanks for your awesome mod.

The update for update 6 is in progress, but will not solve multiplayer mod. This is because TimberApi will be very different and the multiplayer mod might not need TimberApi anymore with the buildin features.

thomaswp commented 2 months ago

@ST-DDT Thanks for letting me know you're excited about this working in Update 6! I am too - I think it'd be a hit in the workshop. But... it will require a bit of an overhaul (with the shift to steam workshop), plus all the usual changes for a new major update, so I don't have a timeline right now (other projects are taking priority).

thomaswp commented 2 months ago

Hey, turns out it was less work than I thought. I've put up a first-draft port on the Update 6 workshop: https://steamcommunity.com/sharedfiles/filedetails/?id=3293380223 (You have to join the group to see it, I believe, but let me know if you can't. Just follow the instructions after clicked "Mods -> Download Mods" on the main menu.)

There are definitely some Update 6 specific desync issues I've encountered and haven't had time to track down and fix, but I'd certainly appreciate testing just to see if it works at all for others, and if you can get it working using the workshop. I haven't updated the documentation, but it should be fairly plug-and-play at this point if you've already set up port forwarding.

ST-DDT commented 2 months ago

How can I install BepInEx via Steam Workshop (or otherwise)? (A hint regarding that dependency would be nice)

v0.6.3.0-e4753ef-xsw
TypeLoadException: Could not load type of field 'BeaverBuddies.Plugin:logger' (3) due to: Could not load file or assembly 'BepInEx, Version=5.4.20.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies.
System.RuntimeTypeHandle.CanCastTo (System.RuntimeType type, System.RuntimeType target) (at <21f453231f9b419fb92653c858b2eaf6>:0)
System.RuntimeType.IsAssignableFrom (System.Type c) (at <21f453231f9b419fb92653c858b2eaf6>:0)
Timberborn.ModManagerScene.ModCodeStarter+<>c__DisplayClass6_0.<GetModStarters>b__1 (System.Type type) (at <789c05d7af744b0b95ae79c83b547ce1>:0)
System.Linq.Enumerable+WhereEnumerableIterator`1[TSource].MoveNext () (at <436abc9601df435fa9ad097ad527da9d>:0)
Timberborn.ModManagerScene.ModCodeStarter.StartMods () (at <789c05d7af744b0b95ae79c83b547ce1>:0)
Timberborn.ModManagerScene.ModCodeStarter.Start () (at <789c05d7af744b0b95ae79c83b547ce1>:0)
Timberborn.ModManagerSceneUI.ModManagerScenePanel.LoadModsAndStartGame () (at <656d9d04cd494067b692b40d0f9bf311>:0)
Timberborn.ModManagerSceneUI.ModManagerScenePanel.<InitializeModManagerPanel>b__11_0 (UnityEngine.UIElements.ClickEvent _) (at <656d9d04cd494067b692b40d0f9bf311>:0)
UnityEngine.UIElements.EventCallbackFunctor`1[TEventType].Invoke (UnityEngine.UIElements.EventBase evt) (at <40aa036fdcfe4396873350accf8ff004>:0)
UnityEngine.UIElements.EventCallbackRegistry+DynamicCallbackList.Invoke (UnityEngine.UIElements.EventBase evt, UnityEngine.UIElements.BaseVisualElementPanel panel, UnityEngine.UIElements.VisualElement target) (at <40aa036fdcfe4396873350accf8ff004>:0)
UnityEngine.UIElements.EventDispatchUtilities.HandleEventAcrossPropagationPath (UnityEngine.UIElements.EventBase evt, UnityEngine.UIElements.BaseVisualElementPanel panel, UnityEngine.UIElements.VisualElement target, System.Boolean isCapturingTarget) (at <40aa036fdcfe4396873350accf8ff004>:0)
UnityEngine.UIElements.EventDispatchUtilities.DispatchToCachedElementUnderPointerOrPanelRoot (UnityEngine.UIElements.EventBase evt, UnityEngine.UIElements.BaseVisualElementPanel panel, System.Int32 pointerId, UnityEngine.Vector2 position) (at <40aa036fdcfe4396873350accf8ff004>:0)
UnityEngine.UIElements.EventDispatchUtilities.DispatchToCapturingElementOrElementUnderPointer (UnityEngine.UIElements.EventBase evt, UnityEngine.UIElements.BaseVisualElementPanel panel, System.Int32 pointerId, UnityEngine.Vector2 position) (at <40aa036fdcfe4396873350accf8ff004>:0)
UnityEngine.UIElements.PointerEventBase`1[T].Dispatch (UnityEngine.UIElements.BaseVisualElementPanel panel) (at <40aa036fdcfe4396873350accf8ff004>:0)
UnityEngine.UIElements.EventDispatcher.ProcessEvent (UnityEngine.UIElements.EventBase evt, UnityEngine.UIElements.BaseVisualElementPanel panel) (at <40aa036fdcfe4396873350accf8ff004>:0)
UnityEngine.UIElements.EventDispatcher.ProcessEventQueue () (at <40aa036fdcfe4396873350accf8ff004>:0)
UnityEngine.UIElements.EventDispatcher.OpenGate () (at <40aa036fdcfe4396873350accf8ff004>:0)
UnityEngine.UIElements.EventDispatcherGate.Dispose () (at <40aa036fdcfe4396873350accf8ff004>:0)
UnityEngine.UIElements.EventDispatcher.ProcessEvent (UnityEngine.UIElements.EventBase evt, UnityEngine.UIElements.BaseVisualElementPanel panel) (at <40aa036fdcfe4396873350accf8ff004>:0)
UnityEngine.UIElements.EventDispatcher.Dispatch (UnityEngine.UIElements.EventBase evt, UnityEngine.UIElements.BaseVisualElementPanel panel, UnityEngine.UIElements.DispatchMode dispatchMode) (at <40aa036fdcfe4396873350accf8ff004>:0)
UnityEngine.UIElements.BaseVisualElementPanel.SendEvent (UnityEngine.UIElements.EventBase e, UnityEngine.UIElements.DispatchMode dispatchMode) (at <40aa036fdcfe4396873350accf8ff004>:0)
UnityEngine.UIElements.PanelEventHandler.SendEvent (UnityEngine.UIElements.EventBase e, UnityEngine.EventSystems.BaseEventData sourceEventData) (at <80989b9abe4c41e3a14ffc8656da333e>:0)
UnityEngine.UIElements.PanelEventHandler.OnPointerUp (UnityEngine.EventSystems.PointerEventData eventData) (at <80989b9abe4c41e3a14ffc8656da333e>:0)
UnityEngine.EventSystems.ExecuteEvents.Execute (UnityEngine.EventSystems.IPointerUpHandler handler, UnityEngine.EventSystems.BaseEventData eventData) (at <80989b9abe4c41e3a14ffc8656da333e>:0)
UnityEngine.EventSystems.ExecuteEvents.Execute[T] (UnityEngine.GameObject target, UnityEngine.EventSystems.BaseEventData eventData, UnityEngine.EventSystems.ExecuteEvents+EventFunction`1[T1] functor) (at <80989b9abe4c41e3a14ffc8656da333e>:0)
UnityEngine.EventSystems.EventSystem:Update()
thomaswp commented 2 months ago

Ah shoot, I forgot to disable BepInEx for deployment (it's just for logging, not necessary) - thanks for the note. You should already have BepInEx installed if you were using this mod with Update 5. Did you uninstall BepInEx? Either way I will try to post an update next week that removes the dependency.

ST-DDT commented 2 months ago

I haven't used this mod with update 5 before. I have tried downloading BepInEx with the mod.io ModLoader, but neither version worked for me. (it might be incompatible with Update 6 yet, or it has to be installed independently from the mod loader)

Thanks for your hard work.

FezVrasta commented 1 month ago

What's the compatibility status? I don't understand why it's published to the workshop (that's a U6 specific feature) if it's not compatible 🤔

Cilyena commented 1 month ago

@FezVrasta If you have an error, report to Tomas your error.

Q: How do I file a bug report, make a feature request, or ask a question?

Note: If making a bug report: Don't restart either Host or Client's game, since that will delete the logs that can help us diagnose the bug.

Make a GitHub account and post and issue here. Follow the instructions in the "Bug Report" template. This may help us fix your issue.

FezVrasta commented 1 month ago

I was just asking if it's compatible or not. Reading this thread it looks like it's not?

Cilyena commented 1 month ago

Update 6 is an experimental branch of the game, so this mod, too. If you want to help, test, and report any problems you encounter.

FezVrasta commented 1 month ago

That still doesn't answer the question. Is it intended to be compatible or not? That's not clear, if it's supposed to be compatible why is this issue open?

Cilyena commented 1 month ago

Because Update 6 is not again released.

thomaswp commented 1 month ago

Just to clarify: BeaverBuddies has a version that currently runs on Update 6. You can find it on the Steam workshop. However, there are still many desync issues to work out that are specific to Update 6 before I would call it an "official" release. Desyncs are hard to debug and fix, so I don't have a specific timeline. Also Update 6 isn't officially released yet, so any new change to it could make the mod break again.

thomaswp commented 1 month ago

V6 support is pretty stable now, and I plan to support it until the official release of Timberborn Update 6, so I'm going to mark this resolved.