Add system for sending messages between servers

This commit is contained in:
KingRainbow44
2023-05-30 13:06:50 -04:00
Unverified
parent a3c56dff7e
commit c780fb7934
5 changed files with 133 additions and 18 deletions
@@ -1,12 +1,17 @@
package emu.grasscutter.server.dispatch;
import static emu.grasscutter.config.Configuration.DISPATCH_INFO;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import emu.grasscutter.Grasscutter;
import emu.grasscutter.database.DatabaseHelper;
import emu.grasscutter.server.event.dispatch.ServerMessageEvent;
import emu.grasscutter.utils.Crypto;
import lombok.Getter;
import org.java_websocket.WebSocket;
import org.java_websocket.handshake.ClientHandshake;
import org.java_websocket.server.WebSocketServer;
import org.slf4j.Logger;
import java.net.InetSocketAddress;
import java.nio.ByteBuffer;
import java.nio.charset.StandardCharsets;
@@ -15,11 +20,8 @@ import java.util.List;
import java.util.Map;
import java.util.function.BiConsumer;
import java.util.function.Consumer;
import lombok.Getter;
import org.java_websocket.WebSocket;
import org.java_websocket.handshake.ClientHandshake;
import org.java_websocket.server.WebSocketServer;
import org.slf4j.Logger;
import static emu.grasscutter.config.Configuration.DISPATCH_INFO;
/* Internal communications server. */
public final class DispatchServer extends WebSocketServer implements IDispatcher {
@@ -40,6 +42,7 @@ public final class DispatchServer extends WebSocketServer implements IDispatcher
this.registerHandler(PacketIds.LoginNotify, this::handleLogin);
this.registerHandler(PacketIds.TokenValidateReq, this::validateToken);
this.registerHandler(PacketIds.GetAccountReq, this::fetchAccount);
this.registerHandler(PacketIds.ServerMessageNotify, ServerMessageEvent::invoke);
}
/**