Move the real player authority to server
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed

- Add rust bindings for the server player controller
- Implement reconciliation loop for checking the player state
- Place spawners on the test map
- Add Containerfile and helm chart
This commit is contained in:
2025-01-29 12:25:26 +01:00
parent 3e6eab08fd
commit d958a5b275
94 changed files with 3002 additions and 144 deletions

View File

@ -21,13 +21,21 @@ func spawn_players(spawn_location: SpawnController, id: int) -> Error:
if multiplayer.is_server():
var char : Node3D = null
var player_data: PlayerState = GameServerManager.players[id]
char = ResourceLoader.load("res://scenes/characters/placeholder.tscn").instantiate()
char = ResourceLoader.load("res://scenes/player/placeholder.tscn").instantiate()
char.name = "PlayerPlaceholder_" + str(player_data.id)
print(player_data)
var position = spawn_location.get_spawner(SpawnController.Sides.BLUE)
char.global_position = position
char.global_position = position
#_get_spawner().spawn(char)
char.owner_id = id
var position: Vector3 = spawn_location.get_spawner(SpawnController.Sides.BLUE)
char.set_server_position(position)
_get_root().add_child(char)
return OK
return ERR_UNAUTHORIZED
func remove_player(id: int) -> Error:
if multiplayer.is_server():
var found_childen: Array[Node] =_get_root().get_children()
for found_child in found_childen:
if found_child.owner_id:
if found_child.owner_id == id:
found_child.queue_free()
return OK
return ERR_UNAUTHORIZED

View File

@ -6,7 +6,7 @@
script = ExtResource("1_2hsyd")
[node name="MultiplayerSpawner" type="MultiplayerSpawner" parent="."]
_spawnable_scenes = PackedStringArray("res://scenes/characters/placeholder.tscn")
_spawnable_scenes = PackedStringArray("res://scenes/characters/placeholder.tscn", "res://scenes/player/placeholder.tscn")
spawn_path = NodePath("../Players")
spawn_limit = 10