Skip to content

Nonexistent function 'get_packet_script' in base 'Godot.MultiplayerPeerExtension' #22

@RoboSkyrat

Description

@RoboSkyrat

Game crashes with

ERROR: Invalid call. Nonexistent function 'get_packet_script' in base 'Godot.MultiplayerPeerExtension'.
   at: void Godot.NativeInterop.ExceptionUtils.DebugCheckCallError(Godot.NativeInterop.godot_string_name, nint, Godot.NativeInterop.godot_variant**, int, Godot.NativeInterop.godot_variant_call_error) (/root/godot/modules/mono/glue/GodotSharp/GodotSharp/Core/NativeInterop/ExceptionUtils.cs:147)
ERROR: Error getting packet! 2
   at: (modules/multiplayer/scene_multiplayer.cpp:92)
ERROR: Invalid call. Nonexistent function 'get_packet_script' in base 'Godot.MultiplayerPeerExtension'.
   at: void Godot.NativeInterop.ExceptionUtils.DebugCheckCallError(Godot.NativeInterop.godot_string_name, nint, Godot.NativeInterop.godot_variant**, int, Godot.NativeInterop.godot_variant_call_error) (/root/godot/modules/mono/glue/GodotSharp/GodotSharp/Core/NativeInterop/ExceptionUtils.cs:147)
ERROR: Error getting packet! 2
   at: (modules/multiplayer/scene_multiplayer.cpp:92)
ERROR: FATAL: Condition "!exists" is true.
   at: godot::HashMap<unsigned __int64,class godot::Ref<class SteamConnection>,struct godot::HashMapHasherDefault,struct godot::HashMapComparatorDefault<unsigned __int64>,class godot::DefaultTypedAllocator<struct godot::HashMapElement<unsigned __int64,class godot::Ref<class SteamConnection> > > >::operator [] (godot-cpp\include\godot_cpp/templates/hash_map.hpp:502)

but only after creating a host and having a user join twice.

I am using the C# wrapper (modified slightly to match the latest 0.1.1 create_host and create_client functions)
I am on Windows.

I use GodotSteam to create the lobby and when I receive the OnLobbyCreate event I create and set the peer. I have no issues doing that and the engine does not complain.
Steam does show that I am in a lobby that is joinable.
When connecting with the client nothing happens. Steam properly registers that the client is joining and is calling the code that calls create_client.

if I have the client then close the game and re-join the lobby the engine then crashes with the above error.

At no point is any of the peer or server connection/disconnection signals on MultiplayerApi ever called. in gd or C#.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions