mirror of
https://github.com/GeyserMC/GeyserConnect.git
synced 2025-06-26 14:15:22 +02:00
Change name to GeyserConnect
This commit is contained in:
parent
3f1ec104c3
commit
8a8ea5cd7f
21 changed files with 76 additions and 77 deletions
13
README.md
13
README.md
|
@ -1,16 +1,16 @@
|
||||||
# GeyserMulti
|
# GeyserConnect
|
||||||
|
|
||||||
[](https://java.com/)
|
[](https://java.com/)
|
||||||
|
|
||||||
<!--[](LICENSE)
|
<!--[](LICENSE)
|
||||||
[](https://ci.nukkitx.com/job/Geyser/job/master/)
|
[](https://ci.nukkitx.com/job/GeyserConnect/job/master/)
|
||||||
[](http://discord.geysermc.org/)
|
[](http://discord.geysermc.org/)
|
||||||
[](http://hits.dwyl.io/GeyserMC/GeyserMulti)-->
|
[](http://hits.dwyl.io/GeyserMC/GeyserConnect)-->
|
||||||
|
|
||||||
GeyserMulti is an easy way for Bedrock Edition clients to connect to any Java Edition servers without having to run anything.
|
GeyserConnect is an easy way for Bedrock Edition clients to connect to any Java Edition servers without having to run anything.
|
||||||
|
|
||||||
## What is GeyserMulti?
|
## What is GeyserConnect?
|
||||||
GeyserMulti is a server that Minecraft: Bedrock Edition clients can connect to that allows for a list of Minecraft: Java Edition servers to be displayed and accessed through 1 public Geyser instance. It is effectively a combination of [BedrockConnect](https://github.com/Pugmatt/BedrockConnect) and [Geyser](https://github.com/GeyserMC/Geyser).
|
GeyserConnect is a server that Minecraft: Bedrock Edition clients can connect to that allows for a list of Minecraft: Java Edition servers to be displayed and accessed through 1 public Geyser instance. It is effectively a combination of [BedrockConnect](https://github.com/Pugmatt/BedrockConnect) and [Geyser](https://github.com/GeyserMC/Geyser).
|
||||||
|
|
||||||
**Please note, this project is still a work in progress and should not be used on production. Expect bugs!**
|
**Please note, this project is still a work in progress and should not be used on production. Expect bugs!**
|
||||||
|
|
||||||
|
@ -24,4 +24,3 @@ GeyserMulti is a server that Minecraft: Bedrock Edition clients can connect to t
|
||||||
- [ ] Stop Geyser server after its idle for a while
|
- [ ] Stop Geyser server after its idle for a while
|
||||||
- [x] Config file
|
- [x] Config file
|
||||||
- [ ] Fix server images not loading straight away on Win10
|
- [ ] Fix server images not loading straight away on Win10
|
||||||
- [ ] Better logging?
|
|
||||||
|
|
2
pom.xml
2
pom.xml
|
@ -69,7 +69,7 @@
|
||||||
<configuration>
|
<configuration>
|
||||||
<archive>
|
<archive>
|
||||||
<manifest>
|
<manifest>
|
||||||
<mainClass>org.geysermc.multi.GeyserMulti</mainClass>
|
<mainClass>org.geysermc.connect.GeyserConnect</mainClass>
|
||||||
</manifest>
|
</manifest>
|
||||||
</archive>
|
</archive>
|
||||||
</configuration>
|
</configuration>
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
package org.geysermc.multi;
|
package org.geysermc.connect;
|
||||||
|
|
||||||
public class GeyserMulti {
|
public class GeyserConnect {
|
||||||
|
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
new MasterServer();
|
new MasterServer();
|
|
@ -1,18 +1,18 @@
|
||||||
package org.geysermc.multi;
|
package org.geysermc.connect;
|
||||||
|
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
||||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import org.geysermc.connector.utils.WebUtils;
|
import org.geysermc.connector.utils.WebUtils;
|
||||||
import org.geysermc.multi.storage.AbstractStorageManager;
|
import org.geysermc.connect.storage.AbstractStorageManager;
|
||||||
import org.geysermc.multi.utils.Server;
|
import org.geysermc.connect.utils.Server;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@Getter
|
@Getter
|
||||||
@JsonIgnoreProperties(ignoreUnknown = true)
|
@JsonIgnoreProperties(ignoreUnknown = true)
|
||||||
public class GeyserMultiConfig {
|
public class GeyserConnectConfig {
|
||||||
|
|
||||||
private String address;
|
private String address;
|
||||||
|
|
|
@ -1,13 +1,13 @@
|
||||||
package org.geysermc.multi;
|
package org.geysermc.connect;
|
||||||
|
|
||||||
import com.nukkitx.protocol.bedrock.*;
|
import com.nukkitx.protocol.bedrock.*;
|
||||||
import com.nukkitx.protocol.bedrock.v390.Bedrock_v390;
|
import com.nukkitx.protocol.bedrock.v390.Bedrock_v390;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import org.geysermc.connector.utils.FileUtils;
|
import org.geysermc.connector.utils.FileUtils;
|
||||||
import org.geysermc.multi.proxy.GeyserProxyBootstrap;
|
import org.geysermc.connect.proxy.GeyserProxyBootstrap;
|
||||||
import org.geysermc.multi.storage.AbstractStorageManager;
|
import org.geysermc.connect.storage.AbstractStorageManager;
|
||||||
import org.geysermc.multi.utils.Logger;
|
import org.geysermc.connect.utils.Logger;
|
||||||
import org.geysermc.multi.utils.Player;
|
import org.geysermc.connect.utils.Player;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
@ -46,7 +46,7 @@ public class MasterServer {
|
||||||
private GeyserProxyBootstrap geyserProxy;
|
private GeyserProxyBootstrap geyserProxy;
|
||||||
|
|
||||||
@Getter
|
@Getter
|
||||||
private GeyserMultiConfig geyserMultiConfig;
|
private GeyserConnectConfig geyserConnectConfig;
|
||||||
|
|
||||||
@Getter
|
@Getter
|
||||||
private AbstractStorageManager storageManager;
|
private AbstractStorageManager storageManager;
|
||||||
|
@ -58,15 +58,15 @@ public class MasterServer {
|
||||||
|
|
||||||
try {
|
try {
|
||||||
File configFile = FileUtils.fileOrCopiedFromResource(new File("config.yml"), "config.yml", (x) -> x);
|
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) {
|
} catch (IOException ex) {
|
||||||
logger.severe("Failed to read/create config.yml! Make sure it's up to date and/or readable+writable!", ex);
|
logger.severe("Failed to read/create config.yml! Make sure it's up to date and/or readable+writable!", ex);
|
||||||
ex.printStackTrace();
|
ex.printStackTrace();
|
||||||
}
|
}
|
||||||
|
|
||||||
logger.setDebug(geyserMultiConfig.isDebugMode());
|
logger.setDebug(geyserConnectConfig.isDebugMode());
|
||||||
|
|
||||||
geyserMultiConfig.checkRemoteIP();
|
geyserConnectConfig.checkRemoteIP();
|
||||||
|
|
||||||
this.generalThreadPool = Executors.newScheduledThreadPool(32);
|
this.generalThreadPool = Executors.newScheduledThreadPool(32);
|
||||||
|
|
||||||
|
@ -76,7 +76,7 @@ public class MasterServer {
|
||||||
timer.scheduleAtFixedRate(task, 0L, 1000L);
|
timer.scheduleAtFixedRate(task, 0L, 1000L);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
storageManager = geyserMultiConfig.getCustomServers().getStorageType().getStorageManager().newInstance();
|
storageManager = geyserConnectConfig.getCustomServers().getStorageType().getStorageManager().newInstance();
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
logger.severe("Invalid storage manager class!", e);
|
logger.severe("Invalid storage manager class!", e);
|
||||||
return;
|
return;
|
||||||
|
@ -84,7 +84,7 @@ public class MasterServer {
|
||||||
|
|
||||||
storageManager.setupStorage();
|
storageManager.setupStorage();
|
||||||
|
|
||||||
start(geyserMultiConfig.getPort());
|
start(geyserConnectConfig.getPort());
|
||||||
|
|
||||||
logger.start();
|
logger.start();
|
||||||
}
|
}
|
||||||
|
@ -92,14 +92,14 @@ public class MasterServer {
|
||||||
private void start(int port) {
|
private void start(int port) {
|
||||||
logger.info("Starting...");
|
logger.info("Starting...");
|
||||||
|
|
||||||
InetSocketAddress bindAddress = new InetSocketAddress(geyserMultiConfig.getAddress(), port);
|
InetSocketAddress bindAddress = new InetSocketAddress(geyserConnectConfig.getAddress(), port);
|
||||||
bdServer = new BedrockServer(bindAddress);
|
bdServer = new BedrockServer(bindAddress);
|
||||||
|
|
||||||
bdPong = new BedrockPong();
|
bdPong = new BedrockPong();
|
||||||
bdPong.setEdition("MCPE");
|
bdPong.setEdition("MCPE");
|
||||||
bdPong.setMotd(geyserMultiConfig.getMotd());
|
bdPong.setMotd(geyserConnectConfig.getMotd());
|
||||||
bdPong.setPlayerCount(0);
|
bdPong.setPlayerCount(0);
|
||||||
bdPong.setMaximumPlayerCount(geyserMultiConfig.getMaxPlayers());
|
bdPong.setMaximumPlayerCount(geyserConnectConfig.getMaxPlayers());
|
||||||
bdPong.setGameType("Survival");
|
bdPong.setGameType("Survival");
|
||||||
bdPong.setIpv4Port(port);
|
bdPong.setIpv4Port(port);
|
||||||
bdPong.setProtocolVersion(MasterServer.CODEC.getProtocolVersion());
|
bdPong.setProtocolVersion(MasterServer.CODEC.getProtocolVersion());
|
||||||
|
@ -124,7 +124,7 @@ public class MasterServer {
|
||||||
|
|
||||||
// Start server up
|
// Start server up
|
||||||
bdServer.bind().join();
|
bdServer.bind().join();
|
||||||
logger.info("Server started on " + geyserMultiConfig.getAddress() + ":" + port);
|
logger.info("Server started on " + geyserConnectConfig.getAddress() + ":" + port);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void shutdown() {
|
public void shutdown() {
|
|
@ -1,4 +1,4 @@
|
||||||
package org.geysermc.multi;
|
package org.geysermc.connect;
|
||||||
|
|
||||||
import com.fasterxml.jackson.databind.DeserializationFeature;
|
import com.fasterxml.jackson.databind.DeserializationFeature;
|
||||||
import com.fasterxml.jackson.databind.JsonNode;
|
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.FormWindow;
|
||||||
import org.geysermc.common.window.response.CustomFormResponse;
|
import org.geysermc.common.window.response.CustomFormResponse;
|
||||||
import org.geysermc.common.window.response.SimpleFormResponse;
|
import org.geysermc.common.window.response.SimpleFormResponse;
|
||||||
import org.geysermc.multi.ui.FormID;
|
import org.geysermc.connect.ui.FormID;
|
||||||
import org.geysermc.multi.ui.UIHandler;
|
import org.geysermc.connect.ui.UIHandler;
|
||||||
import org.geysermc.multi.utils.Player;
|
import org.geysermc.connect.utils.Player;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.security.interfaces.ECPublicKey;
|
import java.security.interfaces.ECPublicKey;
|
|
@ -1,4 +1,4 @@
|
||||||
package org.geysermc.multi.proxy;
|
package org.geysermc.connect.proxy;
|
||||||
|
|
||||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
import com.fasterxml.jackson.dataformat.yaml.YAMLFactory;
|
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.configuration.GeyserConfiguration;
|
||||||
import org.geysermc.connector.ping.GeyserLegacyPingPassthrough;
|
import org.geysermc.connector.ping.GeyserLegacyPingPassthrough;
|
||||||
import org.geysermc.connector.ping.IGeyserPingPassthrough;
|
import org.geysermc.connector.ping.IGeyserPingPassthrough;
|
||||||
import org.geysermc.multi.GeyserMultiConfig;
|
import org.geysermc.connect.GeyserConnectConfig;
|
||||||
import org.geysermc.multi.MasterServer;
|
import org.geysermc.connect.MasterServer;
|
||||||
|
|
||||||
import java.io.BufferedReader;
|
import java.io.BufferedReader;
|
||||||
import java.io.IOException;
|
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
|
// 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"));
|
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.replace("PORT", String.valueOf(multiConfig.getGeyser().getPort()));
|
||||||
text = text.replaceAll("MOTD", multiConfig.getMotd());
|
text = text.replaceAll("MOTD", multiConfig.getMotd());
|
||||||
text = text.replace("PLAYERS", String.valueOf(multiConfig.getMaxPlayers()));
|
text = text.replace("PLAYERS", String.valueOf(multiConfig.getMaxPlayers()));
|
|
@ -23,7 +23,7 @@
|
||||||
* @link https://github.com/GeyserMC/Geyser
|
* @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.GeyserConnector;
|
||||||
import org.geysermc.connector.command.CommandManager;
|
import org.geysermc.connector.command.CommandManager;
|
|
@ -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.JsonIgnoreProperties;
|
||||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
|
@ -1,8 +1,8 @@
|
||||||
package org.geysermc.multi.proxy;
|
package org.geysermc.connect.proxy;
|
||||||
|
|
||||||
import lombok.extern.log4j.Log4j2;
|
import lombok.extern.log4j.Log4j2;
|
||||||
import org.geysermc.multi.MasterServer;
|
import org.geysermc.connect.MasterServer;
|
||||||
import org.geysermc.multi.utils.Logger;
|
import org.geysermc.connect.utils.Logger;
|
||||||
|
|
||||||
@Log4j2
|
@Log4j2
|
||||||
public class GeyserProxyLogger extends Logger {
|
public class GeyserProxyLogger extends Logger {
|
||||||
|
@ -10,7 +10,7 @@ public class GeyserProxyLogger extends Logger {
|
||||||
* Disable debug messages depending on config
|
* Disable debug messages depending on config
|
||||||
*/
|
*/
|
||||||
public void debug(String message) {
|
public void debug(String message) {
|
||||||
if (MasterServer.getInstance().getGeyserMultiConfig().getGeyser().isDebugMode())
|
if (MasterServer.getInstance().getGeyserConnectConfig().getGeyser().isDebugMode())
|
||||||
super.debug(message);
|
super.debug(message);
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -1,10 +1,10 @@
|
||||||
package org.geysermc.multi.proxy;
|
package org.geysermc.connect.proxy;
|
||||||
|
|
||||||
import com.nukkitx.protocol.bedrock.BedrockServerSession;
|
import com.nukkitx.protocol.bedrock.BedrockServerSession;
|
||||||
import org.geysermc.connector.GeyserConnector;
|
import org.geysermc.connector.GeyserConnector;
|
||||||
import org.geysermc.connector.network.session.GeyserSession;
|
import org.geysermc.connector.network.session.GeyserSession;
|
||||||
import org.geysermc.multi.MasterServer;
|
import org.geysermc.connect.MasterServer;
|
||||||
import org.geysermc.multi.utils.Player;
|
import org.geysermc.connect.utils.Player;
|
||||||
|
|
||||||
public class GeyserProxySession extends GeyserSession {
|
public class GeyserProxySession extends GeyserSession {
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
package org.geysermc.multi.proxy;
|
package org.geysermc.connect.proxy;
|
||||||
|
|
||||||
import com.nukkitx.protocol.bedrock.BedrockServerSession;
|
import com.nukkitx.protocol.bedrock.BedrockServerSession;
|
||||||
import org.geysermc.connector.GeyserConnector;
|
import org.geysermc.connector.GeyserConnector;
|
||||||
import org.geysermc.connector.network.ConnectorServerEventHandler;
|
import org.geysermc.connector.network.ConnectorServerEventHandler;
|
||||||
import org.geysermc.connector.network.UpstreamPacketHandler;
|
import org.geysermc.connector.network.UpstreamPacketHandler;
|
||||||
import org.geysermc.multi.MasterServer;
|
import org.geysermc.connect.MasterServer;
|
||||||
import org.geysermc.multi.utils.Player;
|
import org.geysermc.connect.utils.Player;
|
||||||
|
|
||||||
public class ProxyConnectorServerEventHandler extends ConnectorServerEventHandler {
|
public class ProxyConnectorServerEventHandler extends ConnectorServerEventHandler {
|
||||||
private final GeyserConnector connector;
|
private final GeyserConnector connector;
|
|
@ -1,9 +1,9 @@
|
||||||
package org.geysermc.multi.storage;
|
package org.geysermc.connect.storage;
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonValue;
|
import com.fasterxml.jackson.annotation.JsonValue;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import org.geysermc.multi.utils.Player;
|
import org.geysermc.connect.utils.Player;
|
||||||
import org.geysermc.multi.utils.Server;
|
import org.geysermc.connect.utils.Server;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
|
@ -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.core.type.TypeReference;
|
||||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
import org.geysermc.multi.utils.Player;
|
import org.geysermc.connect.utils.Player;
|
||||||
import org.geysermc.multi.utils.Server;
|
import org.geysermc.connect.utils.Server;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
|
@ -1,4 +1,4 @@
|
||||||
package org.geysermc.multi.ui;
|
package org.geysermc.connect.ui;
|
||||||
|
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
|
|
|
@ -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.CustomFormBuilder;
|
||||||
import org.geysermc.common.window.CustomFormWindow;
|
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.component.InputComponent;
|
||||||
import org.geysermc.common.window.response.CustomFormResponse;
|
import org.geysermc.common.window.response.CustomFormResponse;
|
||||||
import org.geysermc.common.window.response.SimpleFormResponse;
|
import org.geysermc.common.window.response.SimpleFormResponse;
|
||||||
import org.geysermc.multi.MasterServer;
|
import org.geysermc.connect.MasterServer;
|
||||||
import org.geysermc.multi.utils.Player;
|
import org.geysermc.connect.utils.Player;
|
||||||
import org.geysermc.multi.utils.Server;
|
import org.geysermc.connect.utils.Server;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
@ -27,12 +27,12 @@ public class UIHandler {
|
||||||
SimpleFormWindow window = new SimpleFormWindow("Servers", "");
|
SimpleFormWindow window = new SimpleFormWindow("Servers", "");
|
||||||
|
|
||||||
// Add a button for each global server
|
// 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")));
|
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
|
// Add a button for each personal server
|
||||||
if (MasterServer.getInstance().getGeyserMultiConfig().getCustomServers().isEnabled()) {
|
if (MasterServer.getInstance().getGeyserConnectConfig().getCustomServers().isEnabled()) {
|
||||||
for (Server server : servers) {
|
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")));
|
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
|
* @param data The form response data
|
||||||
*/
|
*/
|
||||||
public static void handleServerListResponse(Player player, SimpleFormResponse 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());
|
servers.addAll(player.getServers());
|
||||||
|
|
||||||
// Cant be done in a switch as we need to calculate the last 2 buttons
|
// 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
|
player.getSession().disconnect("Bye!"); // Seems to be super slow if we specify an empty string
|
||||||
} else if (data.getClickedButtonId() == servers.size()) {
|
} else if (data.getClickedButtonId() == servers.size()) {
|
||||||
player.sendWindow(FormID.EDIT_SERVERS, getEditServerList(player.getServers()));
|
player.sendWindow(FormID.EDIT_SERVERS, getEditServerList(player.getServers()));
|
|
@ -1,11 +1,11 @@
|
||||||
package org.geysermc.multi.utils;
|
package org.geysermc.connect.utils;
|
||||||
|
|
||||||
import lombok.extern.log4j.Log4j2;
|
import lombok.extern.log4j.Log4j2;
|
||||||
import net.minecrell.terminalconsole.SimpleTerminalConsole;
|
import net.minecrell.terminalconsole.SimpleTerminalConsole;
|
||||||
import org.apache.logging.log4j.core.config.Configurator;
|
import org.apache.logging.log4j.core.config.Configurator;
|
||||||
import org.geysermc.common.ChatColor;
|
import org.geysermc.common.ChatColor;
|
||||||
import org.geysermc.connector.GeyserLogger;
|
import org.geysermc.connector.GeyserLogger;
|
||||||
import org.geysermc.multi.MasterServer;
|
import org.geysermc.connect.MasterServer;
|
||||||
|
|
||||||
@Log4j2
|
@Log4j2
|
||||||
public class Logger extends SimpleTerminalConsole implements GeyserLogger {
|
public class Logger extends SimpleTerminalConsole implements GeyserLogger {
|
|
@ -1,4 +1,4 @@
|
||||||
package org.geysermc.multi.utils;
|
package org.geysermc.connect.utils;
|
||||||
|
|
||||||
import com.nukkitx.nbt.CompoundTagBuilder;
|
import com.nukkitx.nbt.CompoundTagBuilder;
|
||||||
import com.nukkitx.nbt.NbtUtils;
|
import com.nukkitx.nbt.NbtUtils;
|
|
@ -1,4 +1,4 @@
|
||||||
package org.geysermc.multi.utils;
|
package org.geysermc.connect.utils;
|
||||||
|
|
||||||
import com.fasterxml.jackson.databind.JsonNode;
|
import com.fasterxml.jackson.databind.JsonNode;
|
||||||
import com.nukkitx.math.vector.Vector2f;
|
import com.nukkitx.math.vector.Vector2f;
|
||||||
|
@ -12,9 +12,9 @@ import com.nukkitx.protocol.bedrock.packet.*;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
import org.geysermc.common.window.FormWindow;
|
import org.geysermc.common.window.FormWindow;
|
||||||
import org.geysermc.multi.MasterServer;
|
import org.geysermc.connect.MasterServer;
|
||||||
import org.geysermc.multi.ui.FormID;
|
import org.geysermc.connect.ui.FormID;
|
||||||
import org.geysermc.multi.ui.UIHandler;
|
import org.geysermc.connect.ui.UIHandler;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
@ -45,7 +45,7 @@ public class Player {
|
||||||
this.session = session;
|
this.session = session;
|
||||||
|
|
||||||
// Should fetch the servers from some form of db
|
// 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));
|
servers.addAll(MasterServer.getInstance().getStorageManager().loadServers(this));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -155,8 +155,8 @@ public class Player {
|
||||||
*/
|
*/
|
||||||
public void connectToProxy() {
|
public void connectToProxy() {
|
||||||
TransferPacket transferPacket = new TransferPacket();
|
TransferPacket transferPacket = new TransferPacket();
|
||||||
transferPacket.setAddress(MasterServer.getInstance().getGeyserMultiConfig().getRemoteAddress());
|
transferPacket.setAddress(MasterServer.getInstance().getGeyserConnectConfig().getRemoteAddress());
|
||||||
transferPacket.setPort(MasterServer.getInstance().getGeyserMultiConfig().getGeyser().getPort());
|
transferPacket.setPort(MasterServer.getInstance().getGeyserConnectConfig().getGeyser().getPort());
|
||||||
session.sendPacket(transferPacket);
|
session.sendPacket(transferPacket);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
package org.geysermc.multi.utils;
|
package org.geysermc.connect.utils;
|
||||||
|
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
|
@ -1,5 +1,5 @@
|
||||||
# --------------------------------
|
# --------------------------------
|
||||||
# GeyserMulti Configuration File
|
# GeyserConnect Configuration File
|
||||||
# --------------------------------
|
# --------------------------------
|
||||||
|
|
||||||
# The IP address that will listen for connections
|
# The IP address that will listen for connections
|
||||||
|
@ -20,7 +20,7 @@ max-players: 100
|
||||||
# MOTD to display
|
# MOTD to display
|
||||||
motd: "GeyserMulti Proxy"
|
motd: "GeyserMulti Proxy"
|
||||||
|
|
||||||
# Config for the geyser listener
|
# Config for the Geyser listener
|
||||||
geyser:
|
geyser:
|
||||||
# The port that will listen for connections
|
# The port that will listen for connections
|
||||||
port: 19133
|
port: 19133
|
||||||
|
|
Loading…
Add table
Reference in a new issue