Skip to content

Commit e163515

Browse files
authored
Merge branch 'master' into feature/join-message
2 parents 9cff849 + e2d901b commit e163515

File tree

3 files changed

+9
-5
lines changed

3 files changed

+9
-5
lines changed

assets/data/configs/main-config.toml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,3 @@ map_size = 1_000
4040
cache_ttl = 60
4141
# How big the cache can be in kb.
4242
cache_capacity = 20_000
43-
44-
whitelist = false
45-

src/bin/src/packet_handlers/play_packets/set_player_position.rs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ use bevy_ecs::prelude::{Entity, EventWriter, Query, Res};
22
use ferrumc_core::chunks::cross_chunk_boundary_event::CrossChunkBoundaryEvent;
33
use ferrumc_core::identity::player_identity::PlayerIdentity;
44
use ferrumc_net::SetPlayerPositionPacketReceiver;
5+
use std::sync::atomic::Ordering;
56
use tracing::{debug, error, trace, warn};
67

78
use crate::errors::BinaryError;
@@ -151,7 +152,7 @@ fn update_pos_for_all(
151152
};
152153

153154
for (entity, conn) in conn_query.iter() {
154-
if !state.players.is_connected(entity) {
155+
if !state.players.is_connected(entity) || !conn.running.load(Ordering::Relaxed) {
155156
warn!(
156157
"Player {} is not connected, skipping position update",
157158
entity
@@ -161,6 +162,9 @@ fn update_pos_for_all(
161162
let v = player_l.value();
162163
debug!("Player list: {} - {}", k, v.1);
163164
}
165+
state
166+
.players
167+
.disconnect(entity, Some(String::from("Player not connected anymore.")));
164168
continue;
165169
}
166170
conn.send_packet_ref(&packet)?;

src/bin/src/packet_handlers/player/head_rot.rs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,10 @@ pub fn handle_player_move(
1616
for event in events.read() {
1717
let entity = event.entity;
1818

19-
let (rot, identity) = query.get(entity).unwrap();
19+
let Ok((rot, identity)) = query.get(entity) else {
20+
continue;
21+
};
22+
2023
let head_rot_packet = SetHeadRotationPacket::new(
2124
identity.uuid.as_u128() as i32,
2225
NetAngle::from_degrees(rot.yaw as f64),

0 commit comments

Comments
 (0)