godotengine / tps-demo

Godot Third Person Shooter with high quality assets and lighting
Other
955 stars 166 forks source link

Add support for networked multiplayer #163

Closed Faless closed 1 year ago

Faless commented 1 year ago

Initial multiplayer implementation.

Add crude multiplayer menu.

Spawn players on connect (random spawn points).

Synchronize players, bullets, robots (and explosions).

Hitting another player just causes a camera shake.

Destroyed robots respawn after some seconds.

tps-multiplayer

Calinou commented 1 year ago

Trying to import the demo locally for testing, but I'm getting those StringName crashes again while resources are importing (despite having tried 10+ times). It always crashes when reimporting props.glb.

================================================================
handle_crash: Program crashed with signal 11
Engine version: Godot Engine v4.0.rc.custom_build (8208060c2189f972dc08554ee54e5937368e2e96)
Dumping the backtrace. Please include this when reporting the bug to the project developer.
[1] /lib64/libc.so.6(+0x3cb20) [0x7f0dbe77fb20] (??:0)
[2] /home/hugo/Documents/Git/godotengine/godot/bin/godot.linuxbsd.editor.x86_64() [0x58200a9] (/home/hugo/Documents/Git/godotengine/godot/./core/string/string_name.h:139)
[3] /home/hugo/Documents/Git/godotengine/godot/bin/godot.linuxbsd.editor.x86_64() [0x5820a13] (/home/hugo/Documents/Git/godotengine/godot/scene/main/node.cpp:1622)
[4] /home/hugo/Documents/Git/godotengine/godot/bin/godot.linuxbsd.editor.x86_64() [0x5828781] (/home/hugo/Documents/Git/godotengine/godot/scene/main/node.cpp:2493 (discriminator 2))
[5] /home/hugo/Documents/Git/godotengine/godot/bin/godot.linuxbsd.editor.x86_64() [0x4c12396] (/home/hugo/Documents/Git/godotengine/godot/editor/import/resource_importer_scene.cpp:2430)
[6] /home/hugo/Documents/Git/godotengine/godot/bin/godot.linuxbsd.editor.x86_64() [0x428a8eb] (/home/hugo/Documents/Git/godotengine/godot/editor/editor_file_system.cpp:2029)
[7] /home/hugo/Documents/Git/godotengine/godot/bin/godot.linuxbsd.editor.x86_64() [0x429168d] (/home/hugo/Documents/Git/godotengine/godot/editor/editor_file_system.cpp:2296 (discriminator 6))
[8] /home/hugo/Documents/Git/godotengine/godot/bin/godot.linuxbsd.editor.x86_64() [0x4272bb0] (/home/hugo/Documents/Git/godotengine/godot/editor/editor_file_system.cpp:689)
[9] /home/hugo/Documents/Git/godotengine/godot/bin/godot.linuxbsd.editor.x86_64() [0x42799f9] (/home/hugo/Documents/Git/godotengine/godot/editor/editor_file_system.cpp:1280)
[10] /home/hugo/Documents/Git/godotengine/godot/bin/godot.linuxbsd.editor.x86_64() [0x4298783] (/home/hugo/Documents/Git/godotengine/godot/editor/editor_file_system.h:146 (discriminator 14))
[11] /home/hugo/Documents/Git/godotengine/godot/bin/godot.linuxbsd.editor.x86_64() [0x92b02e7] (/home/hugo/Documents/Git/godotengine/godot/core/object/object.cpp:792)
[12] /home/hugo/Documents/Git/godotengine/godot/bin/godot.linuxbsd.editor.x86_64() [0x586a3ca] (/home/hugo/Documents/Git/godotengine/godot/scene/main/scene_tree.cpp:874)
[13] /home/hugo/Documents/Git/godotengine/godot/bin/godot.linuxbsd.editor.x86_64() [0x5867cee] (/home/hugo/Documents/Git/godotengine/godot/scene/main/scene_tree.cpp:468)
[14] /home/hugo/Documents/Git/godotengine/godot/bin/godot.linuxbsd.editor.x86_64() [0x26662b0] (/home/hugo/Documents/Git/godotengine/godot/main/main.cpp:3161)
[15] /home/hugo/Documents/Git/godotengine/godot/bin/godot.linuxbsd.editor.x86_64() [0x25d03a4] (/home/hugo/Documents/Git/godotengine/godot/platform/linuxbsd/os_linuxbsd.cpp:880)
[16] /home/hugo/Documents/Git/godotengine/godot/bin/godot.linuxbsd.editor.x86_64() [0x25c31d0] (/home/hugo/Documents/Git/godotengine/godot/platform/linuxbsd/godot_linuxbsd.cpp:75)
[17] /lib64/libc.so.6(+0x27510) [0x7f0dbe76a510] (??:0)
[18] /lib64/libc.so.6(__libc_start_main+0x89) [0x7f0dbe76a5c9] (??:0)
[19] /home/hugo/Documents/Git/godotengine/godot/bin/godot.linuxbsd.editor.x86_64() [0x25c2fb5] (??:?)
-- END OF BACKTRACE --
================================================================

(This crash isn't caused by your PR, but this prevents me from testing the changes.)