does not really fix the issue i guess, but at least you don't get the error anymore
This commit is contained in:
parent
95df70c448
commit
7a8f11b984
38
pumpkin-protocol/fuzz/Cargo.lock
generated
38
pumpkin-protocol/fuzz/Cargo.lock
generated
@ -33,9 +33,9 @@ checksum = "c3d036a3c4ab069c7b410a2ce876bd74808d2d0888a82667669f8e783a898bf1"
|
||||
|
||||
[[package]]
|
||||
name = "async-compression"
|
||||
version = "0.4.41"
|
||||
version = "0.4.42"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d0f9ee0f6e02ffd7ad5816e9464499fba7b3effd01123b515c41d1697c43dad1"
|
||||
checksum = "e79b3f8a79cccc2898f31920fc69f304859b3bd567490f75ebf51ae1c792a9ac"
|
||||
dependencies = [
|
||||
"compression-codecs",
|
||||
"compression-core",
|
||||
@ -168,9 +168,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "compression-codecs"
|
||||
version = "0.4.37"
|
||||
version = "0.4.38"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "eb7b51a7d9c967fc26773061ba86150f19c50c0d65c887cb1fbe295fd16619b7"
|
||||
checksum = "ce2548391e9c1929c21bf6aa2680af86fe4c1b33e6cea9ac1cfeec0bd11218cf"
|
||||
dependencies = [
|
||||
"compression-core",
|
||||
"flate2",
|
||||
@ -178,9 +178,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "compression-core"
|
||||
version = "0.4.31"
|
||||
version = "0.4.32"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "75984efb6ed102a0d42db99afb6c1948f0380d1d91808d5529916e6c08b49d8d"
|
||||
checksum = "cc14f565cf027a105f7a44ccf9e5b424348421a1d8952a8fc9d499d313107789"
|
||||
|
||||
[[package]]
|
||||
name = "const-oid"
|
||||
@ -665,12 +665,6 @@ version = "0.5.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
|
||||
|
||||
[[package]]
|
||||
name = "hermit-abi"
|
||||
version = "0.5.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "fc0fef456e4baa96da950455cd02c081ca953b141298e41db3fc7e36b1da849c"
|
||||
|
||||
[[package]]
|
||||
name = "hkdf"
|
||||
version = "0.12.4"
|
||||
@ -876,16 +870,6 @@ dependencies = [
|
||||
"autocfg",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "num_cpus"
|
||||
version = "1.17.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "91df4bbde75afed763b708b7eee1e8e7651e02d97f6d5dd763e89367e957b23b"
|
||||
dependencies = [
|
||||
"hermit-abi",
|
||||
"libc",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "once_cell"
|
||||
version = "1.21.4"
|
||||
@ -1049,7 +1033,6 @@ dependencies = [
|
||||
name = "pumpkin-codecs"
|
||||
version = "0.1.0-dev+26.1"
|
||||
dependencies = [
|
||||
"dashmap",
|
||||
"either",
|
||||
"serde_json",
|
||||
"tracing",
|
||||
@ -1099,6 +1082,7 @@ dependencies = [
|
||||
"serde",
|
||||
"thiserror",
|
||||
"tracing",
|
||||
"uuid",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@ -1172,7 +1156,6 @@ dependencies = [
|
||||
"futures",
|
||||
"itertools",
|
||||
"lz4-java-wrc",
|
||||
"num_cpus",
|
||||
"pumpkin-config",
|
||||
"pumpkin-data",
|
||||
"pumpkin-nbt",
|
||||
@ -1189,6 +1172,7 @@ dependencies = [
|
||||
"tokio-util",
|
||||
"tracing",
|
||||
"uuid",
|
||||
"xxhash-rust",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@ -1909,6 +1893,12 @@ dependencies = [
|
||||
"wasmparser",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "xxhash-rust"
|
||||
version = "0.8.15"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "fdd20c5420375476fbd4394763288da7eb0cc0b8c11deed431a91562af7335d3"
|
||||
|
||||
[[package]]
|
||||
name = "zeroize"
|
||||
version = "1.8.2"
|
||||
|
||||
@ -0,0 +1,21 @@
|
||||
use crate::{bedrock::RAKNET_MAGIC, serial::PacketWrite};
|
||||
use pumpkin_macros::packet;
|
||||
|
||||
#[derive(PacketWrite)]
|
||||
#[packet(0x19)]
|
||||
pub struct CIncompatibleProtocolVersion {
|
||||
protocol_version: u8,
|
||||
magic: [u8; 16],
|
||||
server_guid: u64,
|
||||
}
|
||||
|
||||
impl CIncompatibleProtocolVersion {
|
||||
#[must_use]
|
||||
pub const fn new(protocol_version: u8, server_guid: u64) -> Self {
|
||||
Self {
|
||||
protocol_version,
|
||||
magic: RAKNET_MAGIC,
|
||||
server_guid,
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1,3 +1,4 @@
|
||||
pub mod connection;
|
||||
pub mod incompatible_protocol;
|
||||
pub mod open_connection;
|
||||
pub mod unconnected_pong;
|
||||
|
||||
@ -1,9 +1,13 @@
|
||||
use std::net::SocketAddr;
|
||||
|
||||
use pumpkin_protocol::bedrock::{
|
||||
client::raknet::open_connection::{COpenConnectionReply1, COpenConnectionReply2},
|
||||
client::raknet::{
|
||||
incompatible_protocol::CIncompatibleProtocolVersion,
|
||||
open_connection::{COpenConnectionReply1, COpenConnectionReply2},
|
||||
},
|
||||
server::raknet::open_connection::{SOpenConnectionRequest1, SOpenConnectionRequest2},
|
||||
};
|
||||
use pumpkin_world::CURRENT_BEDROCK_MC_PROTOCOL;
|
||||
use tokio::net::UdpSocket;
|
||||
|
||||
use crate::{net::bedrock::BedrockClient, server::Server};
|
||||
@ -11,10 +15,23 @@ use crate::{net::bedrock::BedrockClient, server::Server};
|
||||
impl BedrockClient {
|
||||
pub async fn handle_open_connection_1(
|
||||
server: &Server,
|
||||
_packet: SOpenConnectionRequest1,
|
||||
packet: SOpenConnectionRequest1,
|
||||
addr: SocketAddr,
|
||||
socket: &UdpSocket,
|
||||
) {
|
||||
if packet.protocol_version != CURRENT_BEDROCK_MC_PROTOCOL as u8 {
|
||||
Self::send_offline_packet(
|
||||
&CIncompatibleProtocolVersion::new(
|
||||
CURRENT_BEDROCK_MC_PROTOCOL as u8,
|
||||
server.server_guid,
|
||||
),
|
||||
addr,
|
||||
socket,
|
||||
)
|
||||
.await;
|
||||
return;
|
||||
}
|
||||
|
||||
Self::send_offline_packet(
|
||||
&COpenConnectionReply1::new(server.server_guid, false, 1400),
|
||||
addr,
|
||||
|
||||
Loading…
Reference in New Issue
Block a user