feat: 允许从环境变量中读取配置

This commit is contained in:
2023-05-31 06:51:52 +08:00
parent f9504a7163
commit 503ba16c6e
3 changed files with 18 additions and 13 deletions

View File

@@ -6,15 +6,17 @@
# 环境变量 # 环境变量
除了从 `config.yml` 中配置服务器信息以外,本插件还支持从环境变量中读取 为了适配 pterodactyl 面板,本插件除了从 `config.yml` 中配置服务器信息以外,还支持从环境变量中读取
| 环境变量名称 | 描述 | 对应 config 值 | | 环境变量名称 | 描述 | 对应 config 值 |
|:-----------------------|:------------------|:------------------------------| |:-----------------------|:-------------------|:------------------------------|
| BALL_SERVER_HOST | 服务器唯一识别码,最长 32 字符 | ball-server.host | | BALL_SERVER_HOST | 仓鼠球服务器地址 | ball-server.host |
| BALL_SERVER_PORT | 服务器唯一识别码,最长 32 字符 | ball-server.port | | BALL_SERVER_PORT | 仓鼠球服务器端口 | ball-server.port |
| BALL_EVENT_LOOP_THREAD | 服务器唯一识别码,最长 32 字符 | ball-server.event-loop-thread | | BALL_EVENT_LOOP_THREAD | 处理器线程数 | ball-server.event-loop-thread |
| BALL_SERVER_INFO_ID | 服务器唯一识别码,最长 32 字符 | server-info.id | | SERVER_IP | 服务器 IP | server-info.host |
| BALL_SERVER_INFO_NAME | 服务端名称,用于展示给玩家看 | server-info.name | | SERVER_PORT | 服务器端口 | server-info.port |
| BALL_SERVER_INFO_ID | 本服务器唯一识别码,最长 32 字符 | server-info.id |
| BALL_SERVER_INFO_NAME | 本服务端名称,用于展示给玩家看 | server-info.name |
# 添加依赖 # 添加依赖

View File

@@ -7,7 +7,6 @@ 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;
@@ -38,8 +37,10 @@ public class BallBukkitAPI extends BallAPI {
pluginConfig.getString("server-info.id")); pluginConfig.getString("server-info.id"));
String serverInfoName = env.getOrDefault("BALL_SERVER_INFO_NAME", String serverInfoName = env.getOrDefault("BALL_SERVER_INFO_NAME",
pluginConfig.getString("server-info.name")); pluginConfig.getString("server-info.name"));
String serverInfoHost = pluginConfig.getString("server-info.host", Bukkit.getIp()); String serverInfoHost = env.getOrDefault("SERVER_IP",
int serverInfoPort = pluginConfig.getInt("server-info.port", Bukkit.getPort()); pluginConfig.getString("server-info.host", "0.0.0.0"));
int serverInfoPort = Integer.parseInt(env.getOrDefault("SERVER_PORT",
String.valueOf(pluginConfig.getInt("server-info.port", 25577))));
BallServerInfo serverInfo = new BallServerInfo( BallServerInfo serverInfo = new BallServerInfo(
serverInfoID, serverInfoID,
serverInfoName, serverInfoName,

View File

@@ -36,8 +36,10 @@ public class BallBungeeCordAPI extends BallAPI {
pluginConfig.getString("server-info.id")); pluginConfig.getString("server-info.id"));
String serverInfoName = env.getOrDefault("BALL_SERVER_INFO_NAME", String serverInfoName = env.getOrDefault("BALL_SERVER_INFO_NAME",
pluginConfig.getString("server-info.name")); pluginConfig.getString("server-info.name"));
String serverInfoHost = pluginConfig.getString("server-info.host", "0.0.0.0"); String serverInfoHost = env.getOrDefault("SERVER_IP",
int serverInfoPort = pluginConfig.getInt("server-info.port", 25577); pluginConfig.getString("server-info.host", "0.0.0.0"));
int serverInfoPort = Integer.parseInt(env.getOrDefault("SERVER_PORT",
String.valueOf(pluginConfig.getInt("server-info.port", 25577))));
BallServerInfo serverInfo = new BallServerInfo( BallServerInfo serverInfo = new BallServerInfo(
serverInfoID, serverInfoID,
serverInfoName, serverInfoName,