Change name to GeyserConnect

This commit is contained in:
rtm516 2020-06-16 23:30:37 +01:00
commit 8a8ea5cd7f
21 changed files with 76 additions and 77 deletions

View file

@ -1,6 +1,6 @@
package org.geysermc.multi;
package org.geysermc.connect;
public class GeyserMulti {
public class GeyserConnect {
public static void main(String[] args) {
new MasterServer();

View file

@ -1,18 +1,18 @@
package org.geysermc.multi;
package org.geysermc.connect;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Getter;
import org.geysermc.connector.utils.WebUtils;
import org.geysermc.multi.storage.AbstractStorageManager;
import org.geysermc.multi.utils.Server;
import org.geysermc.connect.storage.AbstractStorageManager;
import org.geysermc.connect.utils.Server;
import java.util.List;
@Getter
@JsonIgnoreProperties(ignoreUnknown = true)
public class GeyserMultiConfig {
public class GeyserConnectConfig {
private String address;

View file

@ -1,13 +1,13 @@
package org.geysermc.multi;
package org.geysermc.connect;
import com.nukkitx.protocol.bedrock.*;
import com.nukkitx.protocol.bedrock.v390.Bedrock_v390;
import lombok.Getter;
import org.geysermc.connector.utils.FileUtils;
import org.geysermc.multi.proxy.GeyserProxyBootstrap;
import org.geysermc.multi.storage.AbstractStorageManager;
import org.geysermc.multi.utils.Logger;
import org.geysermc.multi.utils.Player;
import org.geysermc.connect.proxy.GeyserProxyBootstrap;
import org.geysermc.connect.storage.AbstractStorageManager;
import org.geysermc.connect.utils.Logger;
import org.geysermc.connect.utils.Player;
import java.io.File;
import java.io.IOException;
@ -46,7 +46,7 @@ public class MasterServer {
private GeyserProxyBootstrap geyserProxy;
@Getter
private GeyserMultiConfig geyserMultiConfig;
private GeyserConnectConfig geyserConnectConfig;
@Getter
private AbstractStorageManager storageManager;
@ -58,15 +58,15 @@ public class MasterServer {
try {
File configFile = FileUtils.fileOrCopiedFromResource(new File("config.yml"), "config.yml", (x) -> x);
this.geyserMultiConfig = FileUtils.loadConfig(configFile, GeyserMultiConfig.class);
this.geyserConnectConfig = FileUtils.loadConfig(configFile, GeyserConnectConfig.class);
} catch (IOException ex) {
logger.severe("Failed to read/create config.yml! Make sure it's up to date and/or readable+writable!", ex);
ex.printStackTrace();
}
logger.setDebug(geyserMultiConfig.isDebugMode());
logger.setDebug(geyserConnectConfig.isDebugMode());
geyserMultiConfig.checkRemoteIP();
geyserConnectConfig.checkRemoteIP();
this.generalThreadPool = Executors.newScheduledThreadPool(32);
@ -76,7 +76,7 @@ public class MasterServer {
timer.scheduleAtFixedRate(task, 0L, 1000L);
try {
storageManager = geyserMultiConfig.getCustomServers().getStorageType().getStorageManager().newInstance();
storageManager = geyserConnectConfig.getCustomServers().getStorageType().getStorageManager().newInstance();
} catch (Exception e) {
logger.severe("Invalid storage manager class!", e);
return;
@ -84,7 +84,7 @@ public class MasterServer {
storageManager.setupStorage();
start(geyserMultiConfig.getPort());
start(geyserConnectConfig.getPort());
logger.start();
}
@ -92,14 +92,14 @@ public class MasterServer {
private void start(int port) {
logger.info("Starting...");
InetSocketAddress bindAddress = new InetSocketAddress(geyserMultiConfig.getAddress(), port);
InetSocketAddress bindAddress = new InetSocketAddress(geyserConnectConfig.getAddress(), port);
bdServer = new BedrockServer(bindAddress);
bdPong = new BedrockPong();
bdPong.setEdition("MCPE");
bdPong.setMotd(geyserMultiConfig.getMotd());
bdPong.setMotd(geyserConnectConfig.getMotd());
bdPong.setPlayerCount(0);
bdPong.setMaximumPlayerCount(geyserMultiConfig.getMaxPlayers());
bdPong.setMaximumPlayerCount(geyserConnectConfig.getMaxPlayers());
bdPong.setGameType("Survival");
bdPong.setIpv4Port(port);
bdPong.setProtocolVersion(MasterServer.CODEC.getProtocolVersion());
@ -124,7 +124,7 @@ public class MasterServer {
// Start server up
bdServer.bind().join();
logger.info("Server started on " + geyserMultiConfig.getAddress() + ":" + port);
logger.info("Server started on " + geyserConnectConfig.getAddress() + ":" + port);
}
public void shutdown() {

View file

@ -1,4 +1,4 @@
package org.geysermc.multi;
package org.geysermc.connect;
import com.fasterxml.jackson.databind.DeserializationFeature;
import com.fasterxml.jackson.databind.JsonNode;
@ -14,9 +14,9 @@ import com.nukkitx.protocol.bedrock.util.EncryptionUtils;
import org.geysermc.common.window.FormWindow;
import org.geysermc.common.window.response.CustomFormResponse;
import org.geysermc.common.window.response.SimpleFormResponse;
import org.geysermc.multi.ui.FormID;
import org.geysermc.multi.ui.UIHandler;
import org.geysermc.multi.utils.Player;
import org.geysermc.connect.ui.FormID;
import org.geysermc.connect.ui.UIHandler;
import org.geysermc.connect.utils.Player;
import java.io.IOException;
import java.security.interfaces.ECPublicKey;

View file

@ -1,4 +1,4 @@
package org.geysermc.multi.proxy;
package org.geysermc.connect.proxy;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.dataformat.yaml.YAMLFactory;
@ -9,8 +9,8 @@ import org.geysermc.connector.command.CommandManager;
import org.geysermc.connector.configuration.GeyserConfiguration;
import org.geysermc.connector.ping.GeyserLegacyPingPassthrough;
import org.geysermc.connector.ping.IGeyserPingPassthrough;
import org.geysermc.multi.GeyserMultiConfig;
import org.geysermc.multi.MasterServer;
import org.geysermc.connect.GeyserConnectConfig;
import org.geysermc.connect.MasterServer;
import java.io.BufferedReader;
import java.io.IOException;
@ -39,7 +39,7 @@ public class GeyserProxyBootstrap implements GeyserBootstrap {
// Grab the config as text and replace static strings to the main config variables
String text = new BufferedReader(new InputStreamReader(configFile, StandardCharsets.UTF_8)).lines().collect(Collectors.joining("\n"));
GeyserMultiConfig multiConfig = MasterServer.getInstance().getGeyserMultiConfig();
GeyserConnectConfig multiConfig = MasterServer.getInstance().getGeyserConnectConfig();
text = text.replace("PORT", String.valueOf(multiConfig.getGeyser().getPort()));
text = text.replaceAll("MOTD", multiConfig.getMotd());
text = text.replace("PLAYERS", String.valueOf(multiConfig.getMaxPlayers()));

View file

@ -23,7 +23,7 @@
* @link https://github.com/GeyserMC/Geyser
*/
package org.geysermc.multi.proxy;
package org.geysermc.connect.proxy;
import org.geysermc.connector.GeyserConnector;
import org.geysermc.connector.command.CommandManager;

View file

@ -1,4 +1,4 @@
package org.geysermc.multi.proxy;
package org.geysermc.connect.proxy;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;

View file

@ -1,8 +1,8 @@
package org.geysermc.multi.proxy;
package org.geysermc.connect.proxy;
import lombok.extern.log4j.Log4j2;
import org.geysermc.multi.MasterServer;
import org.geysermc.multi.utils.Logger;
import org.geysermc.connect.MasterServer;
import org.geysermc.connect.utils.Logger;
@Log4j2
public class GeyserProxyLogger extends Logger {
@ -10,7 +10,7 @@ public class GeyserProxyLogger extends Logger {
* Disable debug messages depending on config
*/
public void debug(String message) {
if (MasterServer.getInstance().getGeyserMultiConfig().getGeyser().isDebugMode())
if (MasterServer.getInstance().getGeyserConnectConfig().getGeyser().isDebugMode())
super.debug(message);
}
}

View file

@ -1,10 +1,10 @@
package org.geysermc.multi.proxy;
package org.geysermc.connect.proxy;
import com.nukkitx.protocol.bedrock.BedrockServerSession;
import org.geysermc.connector.GeyserConnector;
import org.geysermc.connector.network.session.GeyserSession;
import org.geysermc.multi.MasterServer;
import org.geysermc.multi.utils.Player;
import org.geysermc.connect.MasterServer;
import org.geysermc.connect.utils.Player;
public class GeyserProxySession extends GeyserSession {

View file

@ -1,11 +1,11 @@
package org.geysermc.multi.proxy;
package org.geysermc.connect.proxy;
import com.nukkitx.protocol.bedrock.BedrockServerSession;
import org.geysermc.connector.GeyserConnector;
import org.geysermc.connector.network.ConnectorServerEventHandler;
import org.geysermc.connector.network.UpstreamPacketHandler;
import org.geysermc.multi.MasterServer;
import org.geysermc.multi.utils.Player;
import org.geysermc.connect.MasterServer;
import org.geysermc.connect.utils.Player;
public class ProxyConnectorServerEventHandler extends ConnectorServerEventHandler {
private final GeyserConnector connector;

View file

@ -1,9 +1,9 @@
package org.geysermc.multi.storage;
package org.geysermc.connect.storage;
import com.fasterxml.jackson.annotation.JsonValue;
import lombok.Getter;
import org.geysermc.multi.utils.Player;
import org.geysermc.multi.utils.Server;
import org.geysermc.connect.utils.Player;
import org.geysermc.connect.utils.Server;
import java.util.ArrayList;
import java.util.List;

View file

@ -1,9 +1,9 @@
package org.geysermc.multi.storage;
package org.geysermc.connect.storage;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.geysermc.multi.utils.Player;
import org.geysermc.multi.utils.Server;
import org.geysermc.connect.utils.Player;
import org.geysermc.connect.utils.Server;
import java.io.File;
import java.io.IOException;

View file

@ -1,4 +1,4 @@
package org.geysermc.multi.ui;
package org.geysermc.connect.ui;
import lombok.Getter;

View file

@ -1,4 +1,4 @@
package org.geysermc.multi.ui;
package org.geysermc.connect.ui;
import org.geysermc.common.window.CustomFormBuilder;
import org.geysermc.common.window.CustomFormWindow;
@ -9,9 +9,9 @@ import org.geysermc.common.window.button.FormImage;
import org.geysermc.common.window.component.InputComponent;
import org.geysermc.common.window.response.CustomFormResponse;
import org.geysermc.common.window.response.SimpleFormResponse;
import org.geysermc.multi.MasterServer;
import org.geysermc.multi.utils.Player;
import org.geysermc.multi.utils.Server;
import org.geysermc.connect.MasterServer;
import org.geysermc.connect.utils.Player;
import org.geysermc.connect.utils.Server;
import java.util.ArrayList;
import java.util.List;
@ -27,12 +27,12 @@ public class UIHandler {
SimpleFormWindow window = new SimpleFormWindow("Servers", "");
// Add a button for each global server
for (Server server : MasterServer.getInstance().getGeyserMultiConfig().getServers()) {
for (Server server : MasterServer.getInstance().getGeyserConnectConfig().getServers()) {
window.getButtons().add(new FormButton(server.toString(), new FormImage(FormImage.FormImageType.URL, "https://eu.mc-api.net/v3/server/favicon/" + server.getAddress() + ":" + server.getPort() + ".png")));
}
// Add a button for each personal server
if (MasterServer.getInstance().getGeyserMultiConfig().getCustomServers().isEnabled()) {
if (MasterServer.getInstance().getGeyserConnectConfig().getCustomServers().isEnabled()) {
for (Server server : servers) {
window.getButtons().add(new FormButton(server.toString(), new FormImage(FormImage.FormImageType.URL, "https://eu.mc-api.net/v3/server/favicon/" + server.getAddress() + ":" + server.getPort() + ".png")));
}
@ -94,12 +94,12 @@ public class UIHandler {
* @param data The form response data
*/
public static void handleServerListResponse(Player player, SimpleFormResponse data) {
List<Server> servers = new ArrayList<>(MasterServer.getInstance().getGeyserMultiConfig().getServers());
List<Server> servers = new ArrayList<>(MasterServer.getInstance().getGeyserConnectConfig().getServers());
servers.addAll(player.getServers());
// Cant be done in a switch as we need to calculate the last 2 buttons
if ((!MasterServer.getInstance().getGeyserMultiConfig().getCustomServers().isEnabled() && data.getClickedButtonId() == servers.size()) || data.getClickedButtonId() == servers.size() + 2) {
if ((!MasterServer.getInstance().getGeyserConnectConfig().getCustomServers().isEnabled() && data.getClickedButtonId() == servers.size()) || data.getClickedButtonId() == servers.size() + 2) {
player.getSession().disconnect("Bye!"); // Seems to be super slow if we specify an empty string
} else if (data.getClickedButtonId() == servers.size()) {
player.sendWindow(FormID.EDIT_SERVERS, getEditServerList(player.getServers()));

View file

@ -1,11 +1,11 @@
package org.geysermc.multi.utils;
package org.geysermc.connect.utils;
import lombok.extern.log4j.Log4j2;
import net.minecrell.terminalconsole.SimpleTerminalConsole;
import org.apache.logging.log4j.core.config.Configurator;
import org.geysermc.common.ChatColor;
import org.geysermc.connector.GeyserLogger;
import org.geysermc.multi.MasterServer;
import org.geysermc.connect.MasterServer;
@Log4j2
public class Logger extends SimpleTerminalConsole implements GeyserLogger {

View file

@ -1,4 +1,4 @@
package org.geysermc.multi.utils;
package org.geysermc.connect.utils;
import com.nukkitx.nbt.CompoundTagBuilder;
import com.nukkitx.nbt.NbtUtils;

View file

@ -1,4 +1,4 @@
package org.geysermc.multi.utils;
package org.geysermc.connect.utils;
import com.fasterxml.jackson.databind.JsonNode;
import com.nukkitx.math.vector.Vector2f;
@ -12,9 +12,9 @@ import com.nukkitx.protocol.bedrock.packet.*;
import lombok.Getter;
import lombok.Setter;
import org.geysermc.common.window.FormWindow;
import org.geysermc.multi.MasterServer;
import org.geysermc.multi.ui.FormID;
import org.geysermc.multi.ui.UIHandler;
import org.geysermc.connect.MasterServer;
import org.geysermc.connect.ui.FormID;
import org.geysermc.connect.ui.UIHandler;
import java.util.ArrayList;
import java.util.List;
@ -45,7 +45,7 @@ public class Player {
this.session = session;
// Should fetch the servers from some form of db
if (MasterServer.getInstance().getGeyserMultiConfig().getCustomServers().isEnabled()) {
if (MasterServer.getInstance().getGeyserConnectConfig().getCustomServers().isEnabled()) {
servers.addAll(MasterServer.getInstance().getStorageManager().loadServers(this));
}
}
@ -155,8 +155,8 @@ public class Player {
*/
public void connectToProxy() {
TransferPacket transferPacket = new TransferPacket();
transferPacket.setAddress(MasterServer.getInstance().getGeyserMultiConfig().getRemoteAddress());
transferPacket.setPort(MasterServer.getInstance().getGeyserMultiConfig().getGeyser().getPort());
transferPacket.setAddress(MasterServer.getInstance().getGeyserConnectConfig().getRemoteAddress());
transferPacket.setPort(MasterServer.getInstance().getGeyserConnectConfig().getGeyser().getPort());
session.sendPacket(transferPacket);
}

View file

@ -1,4 +1,4 @@
package org.geysermc.multi.utils;
package org.geysermc.connect.utils;
import lombok.AllArgsConstructor;
import lombok.Getter;

View file

@ -1,5 +1,5 @@
# --------------------------------
# GeyserMulti Configuration File
# GeyserConnect Configuration File
# --------------------------------
# The IP address that will listen for connections
@ -20,7 +20,7 @@ max-players: 100
# MOTD to display
motd: "GeyserMulti Proxy"
# Config for the geyser listener
# Config for the Geyser listener
geyser:
# The port that will listen for connections
port: 19133