feat: 允许从环境变量中读取配置
This commit is contained in:
@@ -12,6 +12,7 @@ import org.bukkit.configuration.file.FileConfiguration;
|
|||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
import java.sql.SQLException;
|
import java.sql.SQLException;
|
||||||
|
import java.util.Map;
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
public class BallBukkitAPI extends BallAPI {
|
public class BallBukkitAPI extends BallAPI {
|
||||||
@@ -29,21 +30,32 @@ public class BallBukkitAPI extends BallAPI {
|
|||||||
}
|
}
|
||||||
HamsterBallPlugin plugin = HamsterBallPlugin.getInstance();
|
HamsterBallPlugin plugin = HamsterBallPlugin.getInstance();
|
||||||
plugin.saveDefaultConfig();
|
plugin.saveDefaultConfig();
|
||||||
FileConfiguration pluginConfig = plugin.getConfig();
|
|
||||||
|
|
||||||
String host = pluginConfig.getString("server-info.host", Bukkit.getIp());
|
FileConfiguration pluginConfig = plugin.getConfig();
|
||||||
BallConfig config = new BallConfig(
|
Map<String, String> env = System.getenv();
|
||||||
new BallServerInfo(
|
|
||||||
pluginConfig.getString("server-info.id"),
|
String serverInfoID = env.getOrDefault("BALL_SERVER_INFO_ID",
|
||||||
pluginConfig.getString("server-info.name"),
|
pluginConfig.getString("server-info.id"));
|
||||||
|
String serverInfoName = env.getOrDefault("BALL_SERVER_INFO_NAME",
|
||||||
|
pluginConfig.getString("server-info.name"));
|
||||||
|
String serverInfoHost = pluginConfig.getString("server-info.host", Bukkit.getIp());
|
||||||
|
int serverInfoPort = pluginConfig.getInt("server-info.port", Bukkit.getPort());
|
||||||
|
BallServerInfo serverInfo = new BallServerInfo(
|
||||||
|
serverInfoID,
|
||||||
|
serverInfoName,
|
||||||
BallServerType.GAME,
|
BallServerType.GAME,
|
||||||
host.isEmpty() ? "127.0.0.1" : host,
|
serverInfoHost.isEmpty() ? "127.0.0.1" : serverInfoHost,
|
||||||
pluginConfig.getInt("server-info.port", Bukkit.getPort())
|
serverInfoPort
|
||||||
),
|
|
||||||
pluginConfig.getString("ball-server.host", "ball.hamster3.cn"),
|
|
||||||
pluginConfig.getInt("ball-server.port", 58888),
|
|
||||||
pluginConfig.getInt("ball-server.event-loop-thread", 2)
|
|
||||||
);
|
);
|
||||||
|
|
||||||
|
String serverHost = env.getOrDefault("BALL_SERVER_HOST",
|
||||||
|
pluginConfig.getString("ball-server.host", "ball.hamster3.cn"));
|
||||||
|
int serverPort = Integer.parseInt(env.getOrDefault("BALL_SERVER_PORT",
|
||||||
|
String.valueOf(pluginConfig.getInt("ball-server.port", 58888))));
|
||||||
|
int eventLoopThread = Integer.parseInt(env.getOrDefault("BALL_EVENT_LOOP_THREAD",
|
||||||
|
String.valueOf(pluginConfig.getInt("ball-server.event-loop-thread", 2))));
|
||||||
|
BallConfig config = new BallConfig(serverInfo, serverHost, serverPort, eventLoopThread);
|
||||||
|
|
||||||
instance = new BallBukkitAPI(config);
|
instance = new BallBukkitAPI(config);
|
||||||
|
|
||||||
instance.addListener(BallBukkitListener.INSTANCE);
|
instance.addListener(BallBukkitListener.INSTANCE);
|
||||||
|
@@ -12,6 +12,7 @@ import net.md_5.bungee.config.Configuration;
|
|||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
import java.sql.SQLException;
|
import java.sql.SQLException;
|
||||||
|
import java.util.Map;
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
public class BallBungeeCordAPI extends BallAPI {
|
public class BallBungeeCordAPI extends BallAPI {
|
||||||
@@ -29,19 +30,30 @@ public class BallBungeeCordAPI extends BallAPI {
|
|||||||
}
|
}
|
||||||
HamsterBallPlugin plugin = HamsterBallPlugin.getInstance();
|
HamsterBallPlugin plugin = HamsterBallPlugin.getInstance();
|
||||||
Configuration pluginConfig = CoreBungeeCordUtils.getPluginConfig(plugin);
|
Configuration pluginConfig = CoreBungeeCordUtils.getPluginConfig(plugin);
|
||||||
|
Map<String, String> env = System.getenv();
|
||||||
|
|
||||||
BallConfig config = new BallConfig(
|
String serverInfoID = env.getOrDefault("BALL_SERVER_INFO_ID",
|
||||||
new BallServerInfo(
|
pluginConfig.getString("server-info.id"));
|
||||||
pluginConfig.getString("server-info.id", "Proxy"),
|
String serverInfoName = env.getOrDefault("BALL_SERVER_INFO_NAME",
|
||||||
pluginConfig.getString("server-info.name", "Proxy"),
|
pluginConfig.getString("server-info.name"));
|
||||||
BallServerType.PROXY,
|
String serverInfoHost = pluginConfig.getString("server-info.host", "0.0.0.0");
|
||||||
pluginConfig.getString("server-info.host"),
|
int serverInfoPort = pluginConfig.getInt("server-info.port", 25577);
|
||||||
pluginConfig.getInt("server-info.port")
|
BallServerInfo serverInfo = new BallServerInfo(
|
||||||
),
|
serverInfoID,
|
||||||
pluginConfig.getString("ball-server.host", "ball.hamster3.cn"),
|
serverInfoName,
|
||||||
pluginConfig.getInt("ball-server.port", 58888),
|
BallServerType.GAME,
|
||||||
pluginConfig.getInt("ball-server.event-loop-thread", 5)
|
serverInfoHost,
|
||||||
|
serverInfoPort
|
||||||
);
|
);
|
||||||
|
|
||||||
|
String serverHost = env.getOrDefault("BALL_SERVER_HOST",
|
||||||
|
pluginConfig.getString("ball-server.host", "ball.hamster3.cn"));
|
||||||
|
int serverPort = Integer.parseInt(env.getOrDefault("BALL_SERVER_PORT",
|
||||||
|
String.valueOf(pluginConfig.getInt("ball-server.port", 58888))));
|
||||||
|
int eventLoopThread = Integer.parseInt(env.getOrDefault("BALL_EVENT_LOOP_THREAD",
|
||||||
|
String.valueOf(pluginConfig.getInt("ball-server.event-loop-thread", 2))));
|
||||||
|
BallConfig config = new BallConfig(serverInfo, serverHost, serverPort, eventLoopThread);
|
||||||
|
|
||||||
instance = new BallBungeeCordAPI(config);
|
instance = new BallBungeeCordAPI(config);
|
||||||
|
|
||||||
instance.addListener(BallBungeeCordListener.INSTANCE);
|
instance.addListener(BallBungeeCordListener.INSTANCE);
|
||||||
|
@@ -4,7 +4,7 @@ debug: false
|
|||||||
ball-server:
|
ball-server:
|
||||||
host: "ball.hamster3.cn"
|
host: "ball.hamster3.cn"
|
||||||
port: 58888
|
port: 58888
|
||||||
event-loop-thread: 10
|
event-loop-thread: 5
|
||||||
|
|
||||||
server-info:
|
server-info:
|
||||||
# 服务器唯一识别码,最长 32 字符
|
# 服务器唯一识别码,最长 32 字符
|
||||||
|
Reference in New Issue
Block a user