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 523900cc82
commit dfe888a918
94 changed files with 3002 additions and 144 deletions

View File

@ -1,7 +1,8 @@
[gd_scene load_steps=11 format=3 uid="uid://b10lpwfjgxds4"]
[gd_scene load_steps=13 format=3 uid="uid://b10lpwfjgxds4"]
[ext_resource type="Script" path="res://scripts/player/player_input_controller.gd" id="1_q75ai"]
[ext_resource type="Texture2D" uid="uid://oopj5mj1vdp0" path="res://assets/crosshairs/crosshair_default.png" id="2_lsd7c"]
[ext_resource type="Script" path="res://scenes/characters/player_input_controller.gd" id="3_n3epd"]
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_jc50w"]
margin = 0.5
@ -10,14 +11,20 @@ height = 1.6
[sub_resource type="SceneReplicationConfig" id="SceneReplicationConfig_tl74a"]
properties/0/path = NodePath(".:position")
properties/0/spawn = false
properties/0/spawn = true
properties/0/replication_mode = 1
properties/1/path = NodePath(".:rotation")
properties/1/spawn = false
properties/1/spawn = true
properties/1/replication_mode = 1
properties/2/path = NodePath(".:health")
properties/2/spawn = false
properties/2/spawn = true
properties/2/replication_mode = 2
properties/3/path = NodePath(".:velocity")
properties/3/spawn = true
properties/3/replication_mode = 1
properties/4/path = NodePath(".:owner_id")
properties/4/spawn = true
properties/4/replication_mode = 1
[sub_resource type="Animation" id="Animation_falg4"]
length = 0.001
@ -83,11 +90,23 @@ font_size = 70
font_size = 100
font_color = Color(0.756874, 0, 0.223924, 1)
[sub_resource type="SceneReplicationConfig" id="SceneReplicationConfig_eour5"]
properties/0/path = NodePath(".:input_direction")
properties/0/spawn = false
properties/0/replication_mode = 2
properties/1/path = NodePath(".:jumping")
properties/1/spawn = false
properties/1/replication_mode = 2
[node name="CharacterPlaceholder" type="CharacterBody3D"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.799455, 0)
collision_layer = 9
collision_mask = 9
script = ExtResource("1_q75ai")
health = null
owner_id = null
jump_height = null
camera_sens = null
[node name="Collision" type="CollisionShape3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.0150437, 0)
@ -118,6 +137,7 @@ libraries = {
}
[node name="HUD" type="Control" parent="FirstPersonCameraMount"]
visible = false
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
@ -163,3 +183,8 @@ label_settings = SubResource("LabelSettings_1j1uq")
[node name="ModelMount" type="Node3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.790262, 0)
[node name="PlayerInput" type="MultiplayerSynchronizer" parent="."]
root_path = NodePath(".")
replication_config = SubResource("SceneReplicationConfig_eour5")
script = ExtResource("3_n3epd")