From d35cad3de355eb8b0a31c3e06b298af59b71c3b5 Mon Sep 17 00:00:00 2001 From: MaXFeeD Date: Wed, 17 Jan 2024 05:52:17 +0300 Subject: [PATCH] =?UTF-8?q?typo:=20=D0=98=D0=BD=D1=84=D0=BE=D1=80=D0=BC?= =?UTF-8?q?=D0=B0=D1=86=D0=B8=D1=8F=20=D0=BF=D0=BE=20=D0=BF=D0=BE=D0=B2?= =?UTF-8?q?=D0=BE=D0=B4=D1=83=20=D1=81=D0=BE=D0=BA=D0=B5=D1=82=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 6 +++-- .../reider745/network/InnerCorePacket.java | 25 +++++++++---------- src/main/resources/zotecore.yml | 2 +- 3 files changed, 17 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index 0879da8d..685d3a5a 100644 --- a/README.md +++ b/README.md @@ -20,7 +20,9 @@ java -jar ZoteCore-SNAPSHOT.jar Настройки производятся посредством двух основных файлов: *server.properties* и *zotecore.yml*. Они будут созданы автоматически сразу же после запуска ядра, документация по первому доступна в репозитории Nukkit-MOT. -> Некоторые настройки Nukkit заблокированы загрузчиком, среди которых *multiversion-min/max-protocol* (422), *xbox-auth* (авторизация с помощью него не доступна) и *save-player-data-by-uuid* (false). +Некоторые настройки Nukkit заблокированы загрузчиком, среди которых *multiversion-min/max-protocol* (422), *xbox-auth* (авторизация с помощью него не доступна) и *save-player-data-by-uuid* (false). + +Чтобы сокеты клиентов отваливались, не крашая сервер, отключите Watchdog. В текущей реализации альтернативные варианты исправления недоступны, необходимая настройка `thread-watchdog=on`. ### zotecore.yml @@ -68,7 +70,7 @@ auto-save-period: 60 auto-save-world: on # Включен ли сокетный сервер или нет. Сокеты требуют дополнительный порт, -# подключение через серверные сокеты более стабильное. +# подключение через серверные сокеты более нестабильное. socket-server-enable: on # Порт серверного сокета, обычно должен быть между 10000 и 24999. diff --git a/src/main/java/com/reider745/network/InnerCorePacket.java b/src/main/java/com/reider745/network/InnerCorePacket.java index 649330e0..2207de7b 100644 --- a/src/main/java/com/reider745/network/InnerCorePacket.java +++ b/src/main/java/com/reider745/network/InnerCorePacket.java @@ -35,23 +35,22 @@ public class InnerCorePacket extends BasePacket { @Override public void decode() { - try{ + try { name = this.getString(); format_id = this.getVarInt(); bytes_length = this.getVarInt(); bytes = this.get(); reciveLogic(); - }catch (Exception e){ - final String message = "Error native protocol InnerCore"; - Server.getInstance().getLogger().warning(message); - player.kick(message); + } catch (Exception e) { + Server.getInstance().getLogger().warning("Native protocol decoding error!", e); + player.kick(e.getMessage()); } } public static InnerCorePacket sendInfo; - public void reciveLogic(){ - try{ + public void reciveLogic() { + try { final InetSocketAddress address = this.player.getSocketAddress(); final String client = address.getAddress().toString(); @@ -60,12 +59,12 @@ public class InnerCorePacket extends BasePacket { bytes_cache = bytes; NativeNetworking.onServerPacketReceived(client, name, format_id); - }catch (Exception e){ + } catch (Exception e) { Logger.error(e.getMessage()); } } - public static void closePlayer(Player player){ + public static void closePlayer(Player player) { final InetSocketAddress address = player.getSocketAddress(); final String client = address.getAddress().toString(); @@ -83,15 +82,15 @@ public class InnerCorePacket extends BasePacket { this.put(bytes); } - public static byte[] getCurrentNativePacketBytes(){ + public static byte[] getCurrentNativePacketBytes() { return bytes_cache; } - public static Player getPlayerForId(String client){ + public static Player getPlayerForId(String client) { return playerHashMap.get(client); } - public static void sendPacketToClient(String client, String name, int format_id, byte[] data){ + public static void sendPacketToClient(String client, String name, int format_id, byte[] data) { InnerCorePacket packet = new InnerCorePacket(); packet.name = name; packet.format_id = format_id; @@ -102,7 +101,7 @@ public class InnerCorePacket extends BasePacket { playerHashMap.get(client).dataPacket(packet); } - public static void sendPacketToServer(String name, int format_id, byte[] data){ + public static void sendPacketToServer(String name, int format_id, byte[] data) { InnerCorePacket packet = new InnerCorePacket(); packet.name = name; packet.format_id = format_id; diff --git a/src/main/resources/zotecore.yml b/src/main/resources/zotecore.yml index 8302b187..dae6dbe3 100644 --- a/src/main/resources/zotecore.yml +++ b/src/main/resources/zotecore.yml @@ -38,7 +38,7 @@ pack-version-code: 152 # Whether socket server enabled or not. # Server socket requires an additional port, connection -# through server sockets is more stable. +# through server sockets is more unstable. # socket-server-enable: off # Server socket port, usually should be between 10000 and 24999.