7ccdd3063a
checkpoint / checkpoint (push) Failing after 1m34s
scenes/server_player.tscn was a bare CharacterBody3D with NO CollisionShape3D, so on the server move_and_slide() never hit the ground and is_on_floor() was always false -> the server player fell forever, and the client (which snaps to the server's authoritative position past a drift threshold) fell with it. Give the server player the same CapsuleShape3D (r=0.35, h=1.6) as the client. The 2-player test now also asserts the server keeps the player on the ground (on_floor / min_y), which is how this slipped through -- the tests only checked "position changes" and "sees the other player". Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015jtxAiu5dAW4WxCNdGkrkJ
14 lines
394 B
Plaintext
14 lines
394 B
Plaintext
[gd_scene load_steps=3 format=3]
|
|
|
|
[ext_resource type="Script" path="res://scripts/player_spawner.gd" id="1"]
|
|
|
|
[sub_resource type="CapsuleShape3D" id="CapsuleShape_server_player"]
|
|
radius = 0.35
|
|
height = 1.6
|
|
|
|
[node name="Player" type="CharacterBody3D"]
|
|
script = ExtResource("1")
|
|
|
|
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
|
|
shape = SubResource("CapsuleShape_server_player")
|