feat: 优化日志
This commit is contained in:
@@ -15,6 +15,8 @@ dependencies {
|
||||
exclude(group = "org.yaml")
|
||||
exclude(group = "org.slf4j")
|
||||
}
|
||||
// https://mvnrepository.com/artifact/io.netty/netty-resolver-dns
|
||||
implementation("io.netty:netty-resolver-dns:4.1.96.Final")
|
||||
}
|
||||
|
||||
|
||||
|
@@ -20,22 +20,31 @@ public class HamsterBallPlugin extends Plugin {
|
||||
|
||||
@Override
|
||||
public void onLoad() {
|
||||
instance = this;
|
||||
long start = System.currentTimeMillis();
|
||||
Logger logger = getLogger();
|
||||
logger.info("仓鼠球正在初始化...");
|
||||
instance = this;
|
||||
try {
|
||||
BallBungeeCordAPI.init();
|
||||
logger.info("BallBungeeCordAPI 已初始化.");
|
||||
BallBungeeCordAPI.getInstance().enable();
|
||||
logger.info("BallBungeeCordAPI 已启动.");
|
||||
logger.info("已初始化 BallAPI.");
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
ProxyServer.getInstance().stop();
|
||||
}
|
||||
long time = System.currentTimeMillis() - start;
|
||||
logger.info("仓鼠球初始化完成,总计耗时 " + time + " ms.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onEnable() {
|
||||
long start = System.currentTimeMillis();
|
||||
Logger logger = getLogger();
|
||||
logger.info("仓鼠球正在启动...");
|
||||
try {
|
||||
BallBungeeCordAPI.getInstance().enable();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
if (!BallAPI.getInstance().isEnabled()) {
|
||||
ProxyServer.getInstance().stop("由于 HamsterBall 未能成功连接, 服务器将立即关闭.");
|
||||
return;
|
||||
@@ -47,7 +56,6 @@ public class HamsterBallPlugin extends Plugin {
|
||||
ServerOnlineEvent.ACTION,
|
||||
new ServerOnlineEvent(BallAPI.getInstance().getLocalServerInfo())
|
||||
);
|
||||
logger.info("HamsterBall 已启动.");
|
||||
BallAPI.getInstance().getAllPlayerInfo().values()
|
||||
.stream()
|
||||
.filter(BallPlayerInfo::isOnline)
|
||||
@@ -56,14 +64,22 @@ public class HamsterBallPlugin extends Plugin {
|
||||
playerInfo.setOnline(false);
|
||||
BallBungeeCordUtils.uploadPlayerInfo(playerInfo);
|
||||
});
|
||||
|
||||
long time = System.currentTimeMillis() - start;
|
||||
logger.info("仓鼠球启动完成,总计耗时 " + time + " ms.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDisable() {
|
||||
long start = System.currentTimeMillis();
|
||||
Logger logger = getLogger();
|
||||
logger.info("仓鼠球正在关闭...");
|
||||
try {
|
||||
BallBungeeCordAPI.getInstance().disable();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
long time = System.currentTimeMillis() - start;
|
||||
logger.info("仓鼠球已关闭,总计耗时 " + time + " ms.");
|
||||
}
|
||||
}
|
||||
|
@@ -61,7 +61,15 @@ public class BallBungeeCordAPI extends BallAPI {
|
||||
)
|
||||
);
|
||||
|
||||
DataSource datasource = BallBungeeCordUtils.getDataSource(config.getSection("datasource"));
|
||||
DataSource datasource;
|
||||
if (config.contains("datasource")) {
|
||||
plugin.getLogger().info("检测到配置文件中包含 datasource 节点,启用自定义数据库连接.");
|
||||
datasource = BallBungeeCordUtils.getDataSource(config.getSection("datasource"));
|
||||
}else {
|
||||
plugin.getLogger().info("未检测到配置文件中的 datasource 节点,复用 HamsterCore 数据库连接.");
|
||||
datasource = CoreAPI.getInstance().getDataSource();
|
||||
}
|
||||
|
||||
File redissionConfig = new File(plugin.getDataFolder(), "redission.yml");
|
||||
if (!redissionConfig.exists()) {
|
||||
Files.copy(
|
||||
|
@@ -85,7 +85,7 @@ public final class BallBungeeCordListener implements Listener, BallListener {
|
||||
String serverID = event.getLocation().getServerID();
|
||||
ServerInfo serverInfo = ProxyServer.getInstance().getServerInfo(serverID);
|
||||
if (serverInfo == null) {
|
||||
HamsterBallPlugin.getInstance().getLogger().warning("试图传送玩家时失败: 服务器 " + serverID + " 不在线!");
|
||||
HamsterBallPlugin.getInstance().getLogger().warning("试图传送玩家时失败: 服务器 " + serverID + " 不在线!");
|
||||
break;
|
||||
}
|
||||
for (UUID uuid : event.getSendPlayerUUID()) {
|
||||
@@ -105,7 +105,7 @@ public final class BallBungeeCordListener implements Listener, BallListener {
|
||||
UUID toPlayerUUID = event.getToPlayerUUID();
|
||||
ProxiedPlayer toPlayer = ProxyServer.getInstance().getPlayer(toPlayerUUID);
|
||||
if (toPlayer == null) {
|
||||
HamsterBallPlugin.getInstance().getLogger().warning("试图传送玩家时失败: 目标玩家 " + toPlayerUUID + " 不在线!");
|
||||
HamsterBallPlugin.getInstance().getLogger().warning("试图传送玩家时失败: 目标玩家 " + toPlayerUUID + " 不在线!");
|
||||
break;
|
||||
}
|
||||
ServerInfo toServer = toPlayer.getServer().getInfo();
|
||||
|
@@ -3,7 +3,7 @@ main: cn.hamster3.mc.plugin.core.bungee.HamsterBallPlugin
|
||||
version: ${version}
|
||||
|
||||
author: MiniDay
|
||||
description: 仓鼠球:一个基于 Netty 的 Minecraft 服务端通用消息中间件(原HamsterService)
|
||||
description: 仓鼠球:一个基于 Redis 的 Minecraft 服务端通用消息中间件(原HamsterService)
|
||||
|
||||
depend:
|
||||
- HamsterCore
|
||||
|
@@ -1,17 +1,16 @@
|
||||
# 是否允许在控制台输出调试信息
|
||||
debug: false
|
||||
|
||||
ball-server:
|
||||
host: "ball.hamster3.cn"
|
||||
port: 58888
|
||||
event-loop-thread: 5
|
||||
|
||||
server-info:
|
||||
# 服务器唯一识别码,最长 32 字符
|
||||
id: "BungeeCord"
|
||||
# 服务端名称,用于展示给玩家看
|
||||
name: "代理端"
|
||||
# 当前子服的地址
|
||||
# 不填则自动设置为 0.0.0.0
|
||||
host: 0.0.0.0
|
||||
# 当前子服端口
|
||||
# 不填则自动设置为 25577
|
||||
port: 25577
|
||||
|
||||
# 数据库连接池配置
|
||||
|
Reference in New Issue
Block a user