Add a failsafe to prevent server crash

This commit is contained in:
zontreck 2024-05-22 16:41:36 -07:00
parent f5d1d741cb
commit fe181555ef
2 changed files with 26 additions and 20 deletions

View file

@ -16,6 +16,7 @@ class PacketServer {
print( print(
"New connection from ${sock.remoteAddress.address}:${sock.remotePort}"); "New connection from ${sock.remoteAddress.address}:${sock.remotePort}");
try {
sock.listen((data) async { sock.listen((data) async {
S2CStatusResponse response = S2CStatusResponse(); S2CStatusResponse response = S2CStatusResponse();
try { try {
@ -26,7 +27,7 @@ class PacketServer {
PacketResponse reply = await request.handlePacket(); PacketResponse reply = await request.handlePacket();
// Server uses NBT to communicate // Server uses NBT to communicate
sock.add(await NbtIo.writeToStream(reply.replyDataTag)); sock.add(await NbtIo.writeToStream(reply.replyDataTag));
} catch (E) { } catch (E, stack) {
response.reason = "Malformed request packet"; response.reason = "Malformed request packet";
sock.add( sock.add(
@ -37,6 +38,9 @@ class PacketServer {
}, onError: () { }, onError: () {
sock.close(); sock.close();
}); });
} catch (E) {
sock.close();
}
} }
} }
} }
@ -53,9 +57,11 @@ class PacketClient {
try { try {
socket = await Socket.connect(IPAddress, 25306); socket = await Socket.connect(IPAddress, 25306);
connected = true; connected = true;
} catch (E) { } catch (E, stack) {
connected = false; connected = false;
socket = null; socket = null;
print(stack);
} }
} }

View file

@ -1,6 +1,6 @@
name: libac_flutter name: libac_flutter
description: "Aria's Creations code library" description: "Aria's Creations code library"
version: 1.0.9 version: 1.0.10
homepage: "https://zontreck.com" homepage: "https://zontreck.com"
environment: environment: