feat: 更改系统环境参数
This commit is contained in:
18
README.md
18
README.md
@@ -8,15 +8,15 @@
|
|||||||
|
|
||||||
为了适配 pterodactyl 面板,本插件除了从 `config.yml` 中配置服务器信息以外,还支持从环境变量中读取
|
为了适配 pterodactyl 面板,本插件除了从 `config.yml` 中配置服务器信息以外,还支持从环境变量中读取
|
||||||
|
|
||||||
| 环境变量名称 | 描述 | 对应 config 值 |
|
| 环境变量名称 | 描述 | 对应 config 值 |
|
||||||
|:-----------------------|:-------------------|:------------------------------|
|
|:----------------------------|:-------------------|:------------------------------|
|
||||||
| BALL_SERVER_HOST | 仓鼠球服务器地址 | ball-server.host |
|
| BALL_SERVER_HOST | 仓鼠球服务器地址 | ball-server.host |
|
||||||
| BALL_SERVER_PORT | 仓鼠球服务器端口 | ball-server.port |
|
| BALL_SERVER_PORT | 仓鼠球服务器端口 | ball-server.port |
|
||||||
| BALL_EVENT_LOOP_THREAD | 处理器线程数 | ball-server.event-loop-thread |
|
| BALL_EVENT_LOOP_THREAD | 处理器线程数 | ball-server.event-loop-thread |
|
||||||
| SERVER_IP | 本服务器 IP | server-info.host |
|
| BALL_LOCAL_SERVER_IP | 本服务器 IP | server-info.host |
|
||||||
| SERVER_PORT | 本服务器端口 | server-info.port |
|
| BALL_LOCAL_SERVER_PORT | 本服务器端口 | server-info.port |
|
||||||
| BALL_SERVER_INFO_ID | 本服务器唯一识别码,最长 32 字符 | server-info.id |
|
| BALL_LOCAL_SERVER_INFO_ID | 本服务器唯一识别码,最长 32 字符 | server-info.id |
|
||||||
| BALL_SERVER_INFO_NAME | 本服务端名称,用于展示给玩家看 | server-info.name |
|
| BALL_LOCAL_SERVER_INFO_NAME | 本服务端名称,用于展示给玩家看 | server-info.name |
|
||||||
|
|
||||||
# 添加依赖
|
# 添加依赖
|
||||||
|
|
||||||
|
@@ -7,6 +7,7 @@ import cn.hamster3.mc.plugin.ball.common.config.BallConfig;
|
|||||||
import cn.hamster3.mc.plugin.ball.common.entity.BallServerInfo;
|
import cn.hamster3.mc.plugin.ball.common.entity.BallServerInfo;
|
||||||
import cn.hamster3.mc.plugin.ball.common.entity.BallServerType;
|
import cn.hamster3.mc.plugin.ball.common.entity.BallServerType;
|
||||||
import cn.hamster3.mc.plugin.ball.common.listener.BallDebugListener;
|
import cn.hamster3.mc.plugin.ball.common.listener.BallDebugListener;
|
||||||
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.configuration.file.FileConfiguration;
|
import org.bukkit.configuration.file.FileConfiguration;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
@@ -33,14 +34,14 @@ public class BallBukkitAPI extends BallAPI {
|
|||||||
FileConfiguration pluginConfig = plugin.getConfig();
|
FileConfiguration pluginConfig = plugin.getConfig();
|
||||||
Map<String, String> env = System.getenv();
|
Map<String, String> env = System.getenv();
|
||||||
|
|
||||||
String serverInfoID = env.getOrDefault("BALL_SERVER_INFO_ID",
|
String serverInfoID = env.getOrDefault("BALL_LOCAL_SERVER_INFO_ID",
|
||||||
pluginConfig.getString("server-info.id"));
|
pluginConfig.getString("server-info.id"));
|
||||||
String serverInfoName = env.getOrDefault("BALL_SERVER_INFO_NAME",
|
String serverInfoName = env.getOrDefault("BALL_LOCAL_SERVER_INFO_NAME",
|
||||||
pluginConfig.getString("server-info.name"));
|
pluginConfig.getString("server-info.name"));
|
||||||
String serverInfoHost = env.getOrDefault("SERVER_IP",
|
String serverInfoHost = env.getOrDefault("BALL_LOCAL_SERVER_IP",
|
||||||
pluginConfig.getString("server-info.host", "0.0.0.0"));
|
pluginConfig.getString("server-info.host", Bukkit.getIp()));
|
||||||
int serverInfoPort = Integer.parseInt(env.getOrDefault("SERVER_PORT",
|
int serverInfoPort = Integer.parseInt(env.getOrDefault("BALL_LOCAL_SERVER_PORT",
|
||||||
String.valueOf(pluginConfig.getInt("server-info.port", 25577))));
|
String.valueOf(pluginConfig.getInt("server-info.port", Bukkit.getPort()))));
|
||||||
BallServerInfo serverInfo = new BallServerInfo(
|
BallServerInfo serverInfo = new BallServerInfo(
|
||||||
serverInfoID,
|
serverInfoID,
|
||||||
serverInfoName,
|
serverInfoName,
|
||||||
|
@@ -8,6 +8,8 @@ import cn.hamster3.mc.plugin.ball.common.listener.BallDebugListener;
|
|||||||
import cn.hamster3.mc.plugin.core.bungee.HamsterBallPlugin;
|
import cn.hamster3.mc.plugin.core.bungee.HamsterBallPlugin;
|
||||||
import cn.hamster3.mc.plugin.core.bungee.listener.BallBungeeCordListener;
|
import cn.hamster3.mc.plugin.core.bungee.listener.BallBungeeCordListener;
|
||||||
import cn.hamster3.mc.plugin.core.bungee.util.CoreBungeeCordUtils;
|
import cn.hamster3.mc.plugin.core.bungee.util.CoreBungeeCordUtils;
|
||||||
|
import net.md_5.bungee.api.ProxyServer;
|
||||||
|
import net.md_5.bungee.api.config.ListenerInfo;
|
||||||
import net.md_5.bungee.config.Configuration;
|
import net.md_5.bungee.config.Configuration;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
@@ -32,14 +34,17 @@ public class BallBungeeCordAPI extends BallAPI {
|
|||||||
Configuration pluginConfig = CoreBungeeCordUtils.getPluginConfig(plugin);
|
Configuration pluginConfig = CoreBungeeCordUtils.getPluginConfig(plugin);
|
||||||
Map<String, String> env = System.getenv();
|
Map<String, String> env = System.getenv();
|
||||||
|
|
||||||
String serverInfoID = env.getOrDefault("BALL_SERVER_INFO_ID",
|
String serverInfoID = env.getOrDefault("BALL_LOCAL_SERVER_INFO_ID",
|
||||||
pluginConfig.getString("server-info.id"));
|
pluginConfig.getString("server-info.id"));
|
||||||
String serverInfoName = env.getOrDefault("BALL_SERVER_INFO_NAME",
|
String serverInfoName = env.getOrDefault("BALL_LOCAL_SERVER_INFO_NAME",
|
||||||
pluginConfig.getString("server-info.name"));
|
pluginConfig.getString("server-info.name"));
|
||||||
String serverInfoHost = env.getOrDefault("SERVER_IP",
|
String serverInfoHost = env.getOrDefault("BALL_LOCAL_SERVER_IP",
|
||||||
pluginConfig.getString("server-info.host", "0.0.0.0"));
|
pluginConfig.getString("server-info.host", "0.0.0.0"));
|
||||||
int serverInfoPort = Integer.parseInt(env.getOrDefault("SERVER_PORT",
|
int port = ProxyServer.getInstance().getConfig().getListeners().stream().findFirst()
|
||||||
String.valueOf(pluginConfig.getInt("server-info.port", 25577))));
|
.map(ListenerInfo::getQueryPort)
|
||||||
|
.orElse(25577);
|
||||||
|
int serverInfoPort = Integer.parseInt(env.getOrDefault("BALL_LOCAL_SERVER_PORT",
|
||||||
|
String.valueOf(pluginConfig.getInt("server-info.port", port))));
|
||||||
BallServerInfo serverInfo = new BallServerInfo(
|
BallServerInfo serverInfo = new BallServerInfo(
|
||||||
serverInfoID,
|
serverInfoID,
|
||||||
serverInfoName,
|
serverInfoName,
|
||||||
|
Reference in New Issue
Block a user