mirror of
https://github.com/BeamMP/BeamMP-Server.git
synced 2026-04-09 01:06:25 +00:00
small fixes by neverless <3
This commit is contained in:
@@ -167,9 +167,6 @@ impl Client {
|
||||
'syncing: while self.state == ClientState::SyncingResources {
|
||||
self.socket.readable().await?;
|
||||
if let Some(packet) = self.read_packet().await? {
|
||||
if packet.data.len() == 0 {
|
||||
continue;
|
||||
}
|
||||
if (packet.data.len() == 4 && packet.data == [68, 111, 110, 101]) || packet.data.len() == 0 {
|
||||
{
|
||||
let mut lock = CLIENT_MOD_PROGRESS.lock().await;
|
||||
|
||||
@@ -853,10 +853,18 @@ impl Server {
|
||||
}
|
||||
'O' => self.parse_vehicle_packet(client_idx, packet).await?,
|
||||
'C' => {
|
||||
// TODO: Chat filtering?
|
||||
// let packet_data = packet.data_as_string();
|
||||
// let message = packet_data.split(":").collect::<Vec<&str>>().get(2).map(|s| s.to_string()).unwrap_or(String::new());
|
||||
// let message = message.trim();
|
||||
let playername = &self.clients[client_idx].info.as_ref().unwrap().username;
|
||||
let packet_data = packet.data_as_string();
|
||||
let contents: Vec<&str> = packet_data.split(":").collect();
|
||||
if contents.len() < 3 {
|
||||
error!("Message Error - Message from `{}` is of invalid format", &playername);
|
||||
return Ok(());
|
||||
}
|
||||
if contents[1] != playername {
|
||||
error!("Message Error - `{}` is trying to send chat messages for another player `{}`", &playername, &contents[1]);
|
||||
return Ok(());
|
||||
}
|
||||
|
||||
info!("[CHAT] {}", packet.data_as_string());
|
||||
self.broadcast(Packet::Raw(packet), None).await;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user