From f971211e331b42d6a1c351752796064b2355a82a Mon Sep 17 00:00:00 2001 From: TONY_All Date: Thu, 4 May 2023 21:18:04 +0800 Subject: [PATCH] rename --- {child => Controlled}/build.gradle.kts | 7 +++--- .../maxmc/msm/controlled}/MultiServerMan.kt | 18 +++++++-------- .../cc/maxmc/msm/controlled}/api/APIImpl.kt | 4 ++-- .../cc/maxmc/msm/controlled}/command/Api.kt | 2 +- .../cc/maxmc/msm/controlled}/command/Send.kt | 4 ++-- .../controlled}/listener/APIPacketListener.kt | 4 ++-- .../controlled}/listener/ProtocolListener.kt | 23 +++++++++++-------- .../maxmc/msm/controlled}/misc/SubServer.kt | 8 +++---- .../maxmc/msm/controlled}/netty/NetClient.kt | 2 +- .../msm/controlled}/settings/Settings.kt | 4 ++-- .../controlled}/settings/SettingsReader.kt | 4 ++-- .../msm/controlled}/utils/ScriptRunner.kt | 2 +- Controlled/src/main/resources/bungee.yml | 3 +++ .../src/main/resources/settings.yml | 0 {parent => MasterControl}/build.gradle.kts | 2 +- .../msm/mastercontrol}/MultiServerMan.kt | 13 +++++------ .../maxmc/msm/mastercontrol}/api/APIImpl.kt | 6 ++--- .../mastercontrol}/database/SQLDatabase.kt | 6 ++--- .../mastercontrol}/listener/PacketListener.kt | 5 ++-- .../mastercontrol}/manager/ChildManager.kt | 4 ++-- .../mastercontrol}/manager/MatchManager.kt | 6 ++--- .../mastercontrol}/manager/ServerManager.kt | 8 +++---- .../msm/mastercontrol}/misc/ChildBungee.kt | 2 +- .../msm/mastercontrol}/netty/NetManager.kt | 6 ++--- .../msm/mastercontrol}/settings/Settings.kt | 4 ++-- .../mastercontrol}/settings/SettingsReader.kt | 4 ++-- MasterControl/src/main/resources/bungee.yml | 3 +++ .../src/main/resources/settings.yml | 0 api/build.gradle.kts | 6 ++++- build.gradle.kts | 2 +- child/src/main/resources/bungee.yml | 3 --- .../common/network/ClusterPacketHandler.kt | 5 ++-- parent/src/main/resources/bungee.yml | 3 --- settings.gradle.kts | 4 ++-- 34 files changed, 90 insertions(+), 87 deletions(-) rename {child => Controlled}/build.gradle.kts (71%) rename {child/src/main/kotlin/cc/maxmc/msm/child => Controlled/src/main/kotlin/cc/maxmc/msm/controlled}/MultiServerMan.kt (68%) rename {child/src/main/kotlin/cc/maxmc/msm/child => Controlled/src/main/kotlin/cc/maxmc/msm/controlled}/api/APIImpl.kt (95%) rename {child/src/main/kotlin/cc/maxmc/msm/child => Controlled/src/main/kotlin/cc/maxmc/msm/controlled}/command/Api.kt (96%) rename {child/src/main/kotlin/cc/maxmc/msm/child => Controlled/src/main/kotlin/cc/maxmc/msm/controlled}/command/Send.kt (84%) rename {child/src/main/kotlin/cc/maxmc/msm/child => Controlled/src/main/kotlin/cc/maxmc/msm/controlled}/listener/APIPacketListener.kt (94%) rename {child/src/main/kotlin/cc/maxmc/msm/child => Controlled/src/main/kotlin/cc/maxmc/msm/controlled}/listener/ProtocolListener.kt (76%) rename {child/src/main/kotlin/cc/maxmc/msm/child => Controlled/src/main/kotlin/cc/maxmc/msm/controlled}/misc/SubServer.kt (88%) rename {child/src/main/kotlin/cc/maxmc/msm/child => Controlled/src/main/kotlin/cc/maxmc/msm/controlled}/netty/NetClient.kt (97%) rename {child/src/main/kotlin/cc/maxmc/msm/child => Controlled/src/main/kotlin/cc/maxmc/msm/controlled}/settings/Settings.kt (87%) rename {child/src/main/kotlin/cc/maxmc/msm/child => Controlled/src/main/kotlin/cc/maxmc/msm/controlled}/settings/SettingsReader.kt (92%) rename {child/src/main/kotlin/cc/maxmc/msm/child => Controlled/src/main/kotlin/cc/maxmc/msm/controlled}/utils/ScriptRunner.kt (97%) create mode 100644 Controlled/src/main/resources/bungee.yml rename {child => Controlled}/src/main/resources/settings.yml (100%) rename {parent => MasterControl}/build.gradle.kts (94%) rename {parent/src/main/kotlin/cc/maxmc/msm/parent => MasterControl/src/main/kotlin/cc/maxmc/msm/mastercontrol}/MultiServerMan.kt (67%) rename {parent/src/main/kotlin/cc/maxmc/msm/parent => MasterControl/src/main/kotlin/cc/maxmc/msm/mastercontrol}/api/APIImpl.kt (79%) rename {parent/src/main/kotlin/cc/maxmc/msm/parent => MasterControl/src/main/kotlin/cc/maxmc/msm/mastercontrol}/database/SQLDatabase.kt (95%) rename {parent/src/main/kotlin/cc/maxmc/msm/parent => MasterControl/src/main/kotlin/cc/maxmc/msm/mastercontrol}/listener/PacketListener.kt (95%) rename {parent/src/main/kotlin/cc/maxmc/msm/parent => MasterControl/src/main/kotlin/cc/maxmc/msm/mastercontrol}/manager/ChildManager.kt (94%) rename {parent/src/main/kotlin/cc/maxmc/msm/parent => MasterControl/src/main/kotlin/cc/maxmc/msm/mastercontrol}/manager/MatchManager.kt (79%) rename {parent/src/main/kotlin/cc/maxmc/msm/parent => MasterControl/src/main/kotlin/cc/maxmc/msm/mastercontrol}/manager/ServerManager.kt (93%) rename {parent/src/main/kotlin/cc/maxmc/msm/parent => MasterControl/src/main/kotlin/cc/maxmc/msm/mastercontrol}/misc/ChildBungee.kt (97%) rename {parent/src/main/kotlin/cc/maxmc/msm/parent => MasterControl/src/main/kotlin/cc/maxmc/msm/mastercontrol}/netty/NetManager.kt (86%) rename {parent/src/main/kotlin/cc/maxmc/msm/parent => MasterControl/src/main/kotlin/cc/maxmc/msm/mastercontrol}/settings/Settings.kt (84%) rename {parent/src/main/kotlin/cc/maxmc/msm/parent => MasterControl/src/main/kotlin/cc/maxmc/msm/mastercontrol}/settings/SettingsReader.kt (90%) create mode 100644 MasterControl/src/main/resources/bungee.yml rename {parent => MasterControl}/src/main/resources/settings.yml (100%) delete mode 100644 child/src/main/resources/bungee.yml delete mode 100644 parent/src/main/resources/bungee.yml diff --git a/child/build.gradle.kts b/Controlled/build.gradle.kts similarity index 71% rename from child/build.gradle.kts rename to Controlled/build.gradle.kts index 8332c4c..7b7f987 100644 --- a/child/build.gradle.kts +++ b/Controlled/build.gradle.kts @@ -3,7 +3,7 @@ plugins { id("com.github.johnrengelman.shadow") } -group = "cc.maxmc.msm.child" +group = "cc.maxmc.msm.controlled" repositories { mavenCentral() @@ -14,9 +14,8 @@ dependencies { implementation(kotlin("stdlib")) implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.0-Beta") implementation(project(":common")) - implementation("io.netty:netty-all:4.1.90.Final") - @Suppress("VulnerableLibrariesLocal") - implementation("io.github.waterfallmc:waterfall-api:1.19-R0.1-SNAPSHOT") + compileOnly("io.netty:netty-all:4.1.90.Final") + @Suppress("VulnerableLibrariesLocal") compileOnly("io.github.waterfallmc:waterfall-api:1.19-R0.1-SNAPSHOT") } tasks.shadowJar { diff --git a/child/src/main/kotlin/cc/maxmc/msm/child/MultiServerMan.kt b/Controlled/src/main/kotlin/cc/maxmc/msm/controlled/MultiServerMan.kt similarity index 68% rename from child/src/main/kotlin/cc/maxmc/msm/child/MultiServerMan.kt rename to Controlled/src/main/kotlin/cc/maxmc/msm/controlled/MultiServerMan.kt index 116573f..14b1bc5 100644 --- a/child/src/main/kotlin/cc/maxmc/msm/child/MultiServerMan.kt +++ b/Controlled/src/main/kotlin/cc/maxmc/msm/controlled/MultiServerMan.kt @@ -1,14 +1,14 @@ -package cc.maxmc.msm.child +package cc.maxmc.msm.controlled import cc.maxmc.msm.api.MultiServerManAPIProvider -import cc.maxmc.msm.child.api.APIImpl -import cc.maxmc.msm.child.listener.APIPacketListener -import cc.maxmc.msm.child.command.Api -import cc.maxmc.msm.child.command.Send -import cc.maxmc.msm.child.listener.ProtocolListener -import cc.maxmc.msm.child.netty.NetClient -import cc.maxmc.msm.child.settings.Settings -import cc.maxmc.msm.child.settings.SettingsReader +import cc.maxmc.msm.controlled.api.APIImpl +import cc.maxmc.msm.controlled.listener.APIPacketListener +import cc.maxmc.msm.controlled.command.Api +import cc.maxmc.msm.controlled.command.Send +import cc.maxmc.msm.controlled.listener.ProtocolListener +import cc.maxmc.msm.controlled.netty.NetClient +import cc.maxmc.msm.controlled.settings.Settings +import cc.maxmc.msm.controlled.settings.SettingsReader import cc.maxmc.msm.common.network.netty.NetworkRegistry import net.md_5.bungee.api.ProxyServer import net.md_5.bungee.api.plugin.Plugin diff --git a/child/src/main/kotlin/cc/maxmc/msm/child/api/APIImpl.kt b/Controlled/src/main/kotlin/cc/maxmc/msm/controlled/api/APIImpl.kt similarity index 95% rename from child/src/main/kotlin/cc/maxmc/msm/child/api/APIImpl.kt rename to Controlled/src/main/kotlin/cc/maxmc/msm/controlled/api/APIImpl.kt index 93c517d..bc4e737 100644 --- a/child/src/main/kotlin/cc/maxmc/msm/child/api/APIImpl.kt +++ b/Controlled/src/main/kotlin/cc/maxmc/msm/controlled/api/APIImpl.kt @@ -1,8 +1,8 @@ -package cc.maxmc.msm.child.api +package cc.maxmc.msm.controlled.api import cc.maxmc.msm.api.MultiServerManAPI import cc.maxmc.msm.api.misc.MatchInfo -import cc.maxmc.msm.child.netty.NetClient +import cc.maxmc.msm.controlled.netty.NetClient import cc.maxmc.msm.common.network.packet.PPacketAPICall import java.util.* import java.util.concurrent.CompletableFuture diff --git a/child/src/main/kotlin/cc/maxmc/msm/child/command/Api.kt b/Controlled/src/main/kotlin/cc/maxmc/msm/controlled/command/Api.kt similarity index 96% rename from child/src/main/kotlin/cc/maxmc/msm/child/command/Api.kt rename to Controlled/src/main/kotlin/cc/maxmc/msm/controlled/command/Api.kt index 381c540..0752fb8 100644 --- a/child/src/main/kotlin/cc/maxmc/msm/child/command/Api.kt +++ b/Controlled/src/main/kotlin/cc/maxmc/msm/controlled/command/Api.kt @@ -1,4 +1,4 @@ -package cc.maxmc.msm.child.command +package cc.maxmc.msm.controlled.command import cc.maxmc.msm.api.MultiServerManAPIProvider import net.md_5.bungee.api.CommandSender diff --git a/child/src/main/kotlin/cc/maxmc/msm/child/command/Send.kt b/Controlled/src/main/kotlin/cc/maxmc/msm/controlled/command/Send.kt similarity index 84% rename from child/src/main/kotlin/cc/maxmc/msm/child/command/Send.kt rename to Controlled/src/main/kotlin/cc/maxmc/msm/controlled/command/Send.kt index c746a75..e3b8d34 100644 --- a/child/src/main/kotlin/cc/maxmc/msm/child/command/Send.kt +++ b/Controlled/src/main/kotlin/cc/maxmc/msm/controlled/command/Send.kt @@ -1,6 +1,6 @@ -package cc.maxmc.msm.child.command +package cc.maxmc.msm.controlled.command -import cc.maxmc.msm.child.netty.NetClient +import cc.maxmc.msm.controlled.netty.NetClient import cc.maxmc.msm.common.network.packet.PPacketDebug import net.md_5.bungee.api.CommandSender import net.md_5.bungee.api.chat.TextComponent diff --git a/child/src/main/kotlin/cc/maxmc/msm/child/listener/APIPacketListener.kt b/Controlled/src/main/kotlin/cc/maxmc/msm/controlled/listener/APIPacketListener.kt similarity index 94% rename from child/src/main/kotlin/cc/maxmc/msm/child/listener/APIPacketListener.kt rename to Controlled/src/main/kotlin/cc/maxmc/msm/controlled/listener/APIPacketListener.kt index 4da6b8a..5189603 100644 --- a/child/src/main/kotlin/cc/maxmc/msm/child/listener/APIPacketListener.kt +++ b/Controlled/src/main/kotlin/cc/maxmc/msm/controlled/listener/APIPacketListener.kt @@ -1,6 +1,6 @@ -package cc.maxmc.msm.child.listener +package cc.maxmc.msm.controlled.listener -import cc.maxmc.msm.child.api.APIImpl +import cc.maxmc.msm.controlled.api.APIImpl import cc.maxmc.msm.common.event.PacketReceiveEvent import cc.maxmc.msm.common.network.packet.CPacketAPICallback import net.md_5.bungee.api.plugin.Listener diff --git a/child/src/main/kotlin/cc/maxmc/msm/child/listener/ProtocolListener.kt b/Controlled/src/main/kotlin/cc/maxmc/msm/controlled/listener/ProtocolListener.kt similarity index 76% rename from child/src/main/kotlin/cc/maxmc/msm/child/listener/ProtocolListener.kt rename to Controlled/src/main/kotlin/cc/maxmc/msm/controlled/listener/ProtocolListener.kt index df158d8..8db3bd0 100644 --- a/child/src/main/kotlin/cc/maxmc/msm/child/listener/ProtocolListener.kt +++ b/Controlled/src/main/kotlin/cc/maxmc/msm/controlled/listener/ProtocolListener.kt @@ -1,9 +1,9 @@ -package cc.maxmc.msm.child.listener +package cc.maxmc.msm.controlled.listener -import cc.maxmc.msm.child.MultiServerMan -import cc.maxmc.msm.child.misc.SubServer -import cc.maxmc.msm.child.netty.NetClient -import cc.maxmc.msm.child.settings.Settings +import cc.maxmc.msm.controlled.MultiServerMan +import cc.maxmc.msm.controlled.misc.SubServer +import cc.maxmc.msm.controlled.netty.NetClient +import cc.maxmc.msm.controlled.settings.Settings import cc.maxmc.msm.common.event.ChannelInactiveEvent import cc.maxmc.msm.common.event.PacketReceiveEvent import cc.maxmc.msm.common.network.packet.* @@ -47,15 +47,18 @@ object ProtocolListener : Listener { } @EventHandler - fun onDisconnect(packet: ChannelInactiveEvent) { - repeat(10) { - log("Remote Disconnected.") - } + fun onDisconnect(evt: ChannelInactiveEvent) { + log("§c| §7与远程服务器断开连接.") } @EventHandler fun onServerEnd(evt: PacketReceiveEvent) { val packet = evt.packet as? CPacketEndServer ?: return - packet.server + val serverInfo = packet.server + val server = + serverCache[serverInfo.uid] ?: throw IllegalAccessError("Server ($serverInfo) is not in this sub bungee.") + pluginScope.launch { + server.cleanup() + } } } \ No newline at end of file diff --git a/child/src/main/kotlin/cc/maxmc/msm/child/misc/SubServer.kt b/Controlled/src/main/kotlin/cc/maxmc/msm/controlled/misc/SubServer.kt similarity index 88% rename from child/src/main/kotlin/cc/maxmc/msm/child/misc/SubServer.kt rename to Controlled/src/main/kotlin/cc/maxmc/msm/controlled/misc/SubServer.kt index 6fc9efb..f0d30a8 100644 --- a/child/src/main/kotlin/cc/maxmc/msm/child/misc/SubServer.kt +++ b/Controlled/src/main/kotlin/cc/maxmc/msm/controlled/misc/SubServer.kt @@ -1,8 +1,8 @@ -package cc.maxmc.msm.child.misc +package cc.maxmc.msm.controlled.misc -import cc.maxmc.msm.child.MultiServerMan -import cc.maxmc.msm.child.settings.Settings -import cc.maxmc.msm.child.utils.ScriptRunner +import cc.maxmc.msm.controlled.MultiServerMan +import cc.maxmc.msm.controlled.settings.Settings +import cc.maxmc.msm.controlled.utils.ScriptRunner import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.withContext import java.nio.file.Path diff --git a/child/src/main/kotlin/cc/maxmc/msm/child/netty/NetClient.kt b/Controlled/src/main/kotlin/cc/maxmc/msm/controlled/netty/NetClient.kt similarity index 97% rename from child/src/main/kotlin/cc/maxmc/msm/child/netty/NetClient.kt rename to Controlled/src/main/kotlin/cc/maxmc/msm/controlled/netty/NetClient.kt index 5044fa0..b900547 100644 --- a/child/src/main/kotlin/cc/maxmc/msm/child/netty/NetClient.kt +++ b/Controlled/src/main/kotlin/cc/maxmc/msm/controlled/netty/NetClient.kt @@ -1,4 +1,4 @@ -package cc.maxmc.msm.child.netty +package cc.maxmc.msm.controlled.netty import cc.maxmc.msm.common.network.BungeePacket import cc.maxmc.msm.common.network.netty.NetworkRegistry diff --git a/child/src/main/kotlin/cc/maxmc/msm/child/settings/Settings.kt b/Controlled/src/main/kotlin/cc/maxmc/msm/controlled/settings/Settings.kt similarity index 87% rename from child/src/main/kotlin/cc/maxmc/msm/child/settings/Settings.kt rename to Controlled/src/main/kotlin/cc/maxmc/msm/controlled/settings/Settings.kt index 9dace11..78c2d29 100644 --- a/child/src/main/kotlin/cc/maxmc/msm/child/settings/Settings.kt +++ b/Controlled/src/main/kotlin/cc/maxmc/msm/controlled/settings/Settings.kt @@ -1,6 +1,6 @@ -package cc.maxmc.msm.child.settings +package cc.maxmc.msm.controlled.settings -import cc.maxmc.msm.child.settings.SettingsReader.config +import cc.maxmc.msm.controlled.settings.SettingsReader.config object Settings { val name diff --git a/child/src/main/kotlin/cc/maxmc/msm/child/settings/SettingsReader.kt b/Controlled/src/main/kotlin/cc/maxmc/msm/controlled/settings/SettingsReader.kt similarity index 92% rename from child/src/main/kotlin/cc/maxmc/msm/child/settings/SettingsReader.kt rename to Controlled/src/main/kotlin/cc/maxmc/msm/controlled/settings/SettingsReader.kt index 751aa21..b60914f 100644 --- a/child/src/main/kotlin/cc/maxmc/msm/child/settings/SettingsReader.kt +++ b/Controlled/src/main/kotlin/cc/maxmc/msm/controlled/settings/SettingsReader.kt @@ -1,6 +1,6 @@ -package cc.maxmc.msm.child.settings +package cc.maxmc.msm.controlled.settings -import cc.maxmc.msm.child.MultiServerMan +import cc.maxmc.msm.controlled.MultiServerMan import net.md_5.bungee.api.ProxyServer import net.md_5.bungee.api.chat.TextComponent import net.md_5.bungee.config.Configuration diff --git a/child/src/main/kotlin/cc/maxmc/msm/child/utils/ScriptRunner.kt b/Controlled/src/main/kotlin/cc/maxmc/msm/controlled/utils/ScriptRunner.kt similarity index 97% rename from child/src/main/kotlin/cc/maxmc/msm/child/utils/ScriptRunner.kt rename to Controlled/src/main/kotlin/cc/maxmc/msm/controlled/utils/ScriptRunner.kt index 6007e5a..3378efe 100644 --- a/child/src/main/kotlin/cc/maxmc/msm/child/utils/ScriptRunner.kt +++ b/Controlled/src/main/kotlin/cc/maxmc/msm/controlled/utils/ScriptRunner.kt @@ -1,4 +1,4 @@ -package cc.maxmc.msm.child.utils +package cc.maxmc.msm.controlled.utils import cc.maxmc.msm.common.utils.log import kotlinx.coroutines.Dispatchers diff --git a/Controlled/src/main/resources/bungee.yml b/Controlled/src/main/resources/bungee.yml new file mode 100644 index 0000000..ddb23b9 --- /dev/null +++ b/Controlled/src/main/resources/bungee.yml @@ -0,0 +1,3 @@ +name: Controlled +main: cc.maxmc.msm.controlled.MultiServerMan +author: MistyRain \ No newline at end of file diff --git a/child/src/main/resources/settings.yml b/Controlled/src/main/resources/settings.yml similarity index 100% rename from child/src/main/resources/settings.yml rename to Controlled/src/main/resources/settings.yml diff --git a/parent/build.gradle.kts b/MasterControl/build.gradle.kts similarity index 94% rename from parent/build.gradle.kts rename to MasterControl/build.gradle.kts index fa67608..1a6a5cb 100644 --- a/parent/build.gradle.kts +++ b/MasterControl/build.gradle.kts @@ -3,7 +3,7 @@ plugins { id("com.github.johnrengelman.shadow") } -group = "cc.maxmc.msm.parent" +group = "cc.maxmc.msm.mastercontrol" repositories { mavenCentral() diff --git a/parent/src/main/kotlin/cc/maxmc/msm/parent/MultiServerMan.kt b/MasterControl/src/main/kotlin/cc/maxmc/msm/mastercontrol/MultiServerMan.kt similarity index 67% rename from parent/src/main/kotlin/cc/maxmc/msm/parent/MultiServerMan.kt rename to MasterControl/src/main/kotlin/cc/maxmc/msm/mastercontrol/MultiServerMan.kt index f1974af..5d6c050 100644 --- a/parent/src/main/kotlin/cc/maxmc/msm/parent/MultiServerMan.kt +++ b/MasterControl/src/main/kotlin/cc/maxmc/msm/mastercontrol/MultiServerMan.kt @@ -1,13 +1,12 @@ -package cc.maxmc.msm.parent +package cc.maxmc.msm.mastercontrol import cc.maxmc.msm.api.MultiServerManAPIProvider -import cc.maxmc.msm.parent.api.APIImpl -import cc.maxmc.msm.parent.listener.PacketListener -import cc.maxmc.msm.parent.manager.MatchManager -import cc.maxmc.msm.parent.manager.ServerManager -import cc.maxmc.msm.parent.netty.NetManager +import cc.maxmc.msm.mastercontrol.api.APIImpl +import cc.maxmc.msm.mastercontrol.listener.PacketListener +import cc.maxmc.msm.mastercontrol.manager.MatchManager +import cc.maxmc.msm.mastercontrol.manager.ServerManager +import cc.maxmc.msm.mastercontrol.netty.NetManager import net.md_5.bungee.api.ProxyServer -import net.md_5.bungee.api.connection.Server import net.md_5.bungee.api.plugin.Plugin class MultiServerMan : Plugin() { diff --git a/parent/src/main/kotlin/cc/maxmc/msm/parent/api/APIImpl.kt b/MasterControl/src/main/kotlin/cc/maxmc/msm/mastercontrol/api/APIImpl.kt similarity index 79% rename from parent/src/main/kotlin/cc/maxmc/msm/parent/api/APIImpl.kt rename to MasterControl/src/main/kotlin/cc/maxmc/msm/mastercontrol/api/APIImpl.kt index b94b0f2..b6f333b 100644 --- a/parent/src/main/kotlin/cc/maxmc/msm/parent/api/APIImpl.kt +++ b/MasterControl/src/main/kotlin/cc/maxmc/msm/mastercontrol/api/APIImpl.kt @@ -1,9 +1,9 @@ -package cc.maxmc.msm.parent.api +package cc.maxmc.msm.mastercontrol.api import cc.maxmc.msm.api.MultiServerManAPI import cc.maxmc.msm.api.misc.MatchInfo -import cc.maxmc.msm.parent.database.SQLDatabase -import cc.maxmc.msm.parent.manager.MatchManager +import cc.maxmc.msm.mastercontrol.database.SQLDatabase +import cc.maxmc.msm.mastercontrol.manager.MatchManager object APIImpl : MultiServerManAPI { override fun getServer(type: String, players: List): MatchInfo { diff --git a/parent/src/main/kotlin/cc/maxmc/msm/parent/database/SQLDatabase.kt b/MasterControl/src/main/kotlin/cc/maxmc/msm/mastercontrol/database/SQLDatabase.kt similarity index 95% rename from parent/src/main/kotlin/cc/maxmc/msm/parent/database/SQLDatabase.kt rename to MasterControl/src/main/kotlin/cc/maxmc/msm/mastercontrol/database/SQLDatabase.kt index 5522f81..93f39be 100644 --- a/parent/src/main/kotlin/cc/maxmc/msm/parent/database/SQLDatabase.kt +++ b/MasterControl/src/main/kotlin/cc/maxmc/msm/mastercontrol/database/SQLDatabase.kt @@ -1,8 +1,8 @@ -package cc.maxmc.msm.parent.database +package cc.maxmc.msm.mastercontrol.database import cc.maxmc.msm.api.misc.MatchInfo -import cc.maxmc.msm.parent.manager.MatchManager -import cc.maxmc.msm.parent.settings.Settings +import cc.maxmc.msm.mastercontrol.manager.MatchManager +import cc.maxmc.msm.mastercontrol.settings.Settings import com.zaxxer.hikari.HikariConfig import com.zaxxer.hikari.pool.HikariPool import java.sql.Timestamp diff --git a/parent/src/main/kotlin/cc/maxmc/msm/parent/listener/PacketListener.kt b/MasterControl/src/main/kotlin/cc/maxmc/msm/mastercontrol/listener/PacketListener.kt similarity index 95% rename from parent/src/main/kotlin/cc/maxmc/msm/parent/listener/PacketListener.kt rename to MasterControl/src/main/kotlin/cc/maxmc/msm/mastercontrol/listener/PacketListener.kt index ee96101..998ae98 100644 --- a/parent/src/main/kotlin/cc/maxmc/msm/parent/listener/PacketListener.kt +++ b/MasterControl/src/main/kotlin/cc/maxmc/msm/mastercontrol/listener/PacketListener.kt @@ -1,4 +1,4 @@ -package cc.maxmc.msm.parent.listener +package cc.maxmc.msm.mastercontrol.listener import cc.maxmc.msm.api.MultiServerManAPIProvider import cc.maxmc.msm.common.event.ChannelActiveEvent @@ -9,7 +9,7 @@ import cc.maxmc.msm.common.network.packet.CPacketDebug import cc.maxmc.msm.common.network.packet.PPacketAPICall import cc.maxmc.msm.common.network.packet.PPacketDebug import cc.maxmc.msm.common.utils.log -import cc.maxmc.msm.parent.manager.ChildManager +import cc.maxmc.msm.mastercontrol.manager.ChildManager import net.md_5.bungee.api.plugin.Listener import net.md_5.bungee.event.EventHandler @@ -57,6 +57,7 @@ object PacketListener : Listener { ChildManager.registerChild(evt.channel) } + @EventHandler fun onChannelInactive(evt: ChannelInactiveEvent) { log("§c| §7子BC ${evt.channel.remoteAddress()} 断开连接.") ChildManager.unregisterChild(evt.channel) diff --git a/parent/src/main/kotlin/cc/maxmc/msm/parent/manager/ChildManager.kt b/MasterControl/src/main/kotlin/cc/maxmc/msm/mastercontrol/manager/ChildManager.kt similarity index 94% rename from parent/src/main/kotlin/cc/maxmc/msm/parent/manager/ChildManager.kt rename to MasterControl/src/main/kotlin/cc/maxmc/msm/mastercontrol/manager/ChildManager.kt index 90d4eac..0b98165 100644 --- a/parent/src/main/kotlin/cc/maxmc/msm/parent/manager/ChildManager.kt +++ b/MasterControl/src/main/kotlin/cc/maxmc/msm/mastercontrol/manager/ChildManager.kt @@ -1,11 +1,11 @@ -package cc.maxmc.msm.parent.manager +package cc.maxmc.msm.mastercontrol.manager import cc.maxmc.msm.common.network.packet.CPacketGetInfo import cc.maxmc.msm.common.network.packet.PPacketChildInfo import cc.maxmc.msm.common.utils.awaitPacket import cc.maxmc.msm.common.utils.log import cc.maxmc.msm.common.utils.pluginScope -import cc.maxmc.msm.parent.misc.ChildBungee +import cc.maxmc.msm.mastercontrol.misc.ChildBungee import io.netty.channel.Channel import kotlinx.coroutines.launch import java.util.* diff --git a/parent/src/main/kotlin/cc/maxmc/msm/parent/manager/MatchManager.kt b/MasterControl/src/main/kotlin/cc/maxmc/msm/mastercontrol/manager/MatchManager.kt similarity index 79% rename from parent/src/main/kotlin/cc/maxmc/msm/parent/manager/MatchManager.kt rename to MasterControl/src/main/kotlin/cc/maxmc/msm/mastercontrol/manager/MatchManager.kt index 587e55d..d2d520d 100644 --- a/parent/src/main/kotlin/cc/maxmc/msm/parent/manager/MatchManager.kt +++ b/MasterControl/src/main/kotlin/cc/maxmc/msm/mastercontrol/manager/MatchManager.kt @@ -1,14 +1,14 @@ -package cc.maxmc.msm.parent.manager +package cc.maxmc.msm.mastercontrol.manager import cc.maxmc.msm.api.misc.MatchInfo -import cc.maxmc.msm.parent.database.SQLDatabase +import cc.maxmc.msm.mastercontrol.database.SQLDatabase import java.util.concurrent.ConcurrentHashMap object MatchManager { private val matchMap = ConcurrentHashMap() fun requestMatch(type: String, players: List): MatchInfo { - val server = ServerManager.consumeServer(type) + val server = ServerManager.consumeServer(type) ?: return MatchInfo() val id = SQLDatabase.recordMatch(type, players) val match = MatchInfo(id, server) matchMap[id] = match diff --git a/parent/src/main/kotlin/cc/maxmc/msm/parent/manager/ServerManager.kt b/MasterControl/src/main/kotlin/cc/maxmc/msm/mastercontrol/manager/ServerManager.kt similarity index 93% rename from parent/src/main/kotlin/cc/maxmc/msm/parent/manager/ServerManager.kt rename to MasterControl/src/main/kotlin/cc/maxmc/msm/mastercontrol/manager/ServerManager.kt index d5a0a79..ea4a206 100644 --- a/parent/src/main/kotlin/cc/maxmc/msm/parent/manager/ServerManager.kt +++ b/MasterControl/src/main/kotlin/cc/maxmc/msm/mastercontrol/manager/ServerManager.kt @@ -1,10 +1,10 @@ -package cc.maxmc.msm.parent.manager +package cc.maxmc.msm.mastercontrol.manager import cc.maxmc.msm.api.misc.ServerInfo import cc.maxmc.msm.common.network.packet.CPacketEndServer import cc.maxmc.msm.common.utils.log import cc.maxmc.msm.common.utils.pluginScope -import cc.maxmc.msm.parent.misc.ChildBungee +import cc.maxmc.msm.mastercontrol.misc.ChildBungee import kotlinx.coroutines.channels.Channel import kotlinx.coroutines.launch import java.util.* @@ -44,9 +44,9 @@ object ServerManager { } } - fun consumeServer(type: String): ServerInfo { + fun consumeServer(type: String): ServerInfo? { val servers = getAvailableServers(type) - val info = servers.first() + val info = servers.firstOrNull() ?: return null info.isAvailable = false if (servers.size - 1 <= 2) { pluginScope.launch { diff --git a/parent/src/main/kotlin/cc/maxmc/msm/parent/misc/ChildBungee.kt b/MasterControl/src/main/kotlin/cc/maxmc/msm/mastercontrol/misc/ChildBungee.kt similarity index 97% rename from parent/src/main/kotlin/cc/maxmc/msm/parent/misc/ChildBungee.kt rename to MasterControl/src/main/kotlin/cc/maxmc/msm/mastercontrol/misc/ChildBungee.kt index efdc782..8f8533a 100644 --- a/parent/src/main/kotlin/cc/maxmc/msm/parent/misc/ChildBungee.kt +++ b/MasterControl/src/main/kotlin/cc/maxmc/msm/mastercontrol/misc/ChildBungee.kt @@ -1,4 +1,4 @@ -package cc.maxmc.msm.parent.misc +package cc.maxmc.msm.mastercontrol.misc import cc.maxmc.msm.api.misc.ServerInfo import cc.maxmc.msm.common.network.BungeePacket diff --git a/parent/src/main/kotlin/cc/maxmc/msm/parent/netty/NetManager.kt b/MasterControl/src/main/kotlin/cc/maxmc/msm/mastercontrol/netty/NetManager.kt similarity index 86% rename from parent/src/main/kotlin/cc/maxmc/msm/parent/netty/NetManager.kt rename to MasterControl/src/main/kotlin/cc/maxmc/msm/mastercontrol/netty/NetManager.kt index 2c04719..9e7dbb1 100644 --- a/parent/src/main/kotlin/cc/maxmc/msm/parent/netty/NetManager.kt +++ b/MasterControl/src/main/kotlin/cc/maxmc/msm/mastercontrol/netty/NetManager.kt @@ -1,11 +1,9 @@ -package cc.maxmc.msm.parent.netty +package cc.maxmc.msm.mastercontrol.netty import cc.maxmc.msm.common.network.netty.NetworkRegistry import cc.maxmc.msm.common.utils.log import cc.maxmc.msm.common.utils.pipelineInit -import cc.maxmc.msm.parent.manager.MatchManager -import cc.maxmc.msm.parent.manager.ServerManager -import cc.maxmc.msm.parent.settings.Settings +import cc.maxmc.msm.mastercontrol.settings.Settings import io.netty.bootstrap.ServerBootstrap import io.netty.channel.ChannelFutureListener import io.netty.channel.nio.NioEventLoopGroup diff --git a/parent/src/main/kotlin/cc/maxmc/msm/parent/settings/Settings.kt b/MasterControl/src/main/kotlin/cc/maxmc/msm/mastercontrol/settings/Settings.kt similarity index 84% rename from parent/src/main/kotlin/cc/maxmc/msm/parent/settings/Settings.kt rename to MasterControl/src/main/kotlin/cc/maxmc/msm/mastercontrol/settings/Settings.kt index 9b2199a..b80954b 100644 --- a/parent/src/main/kotlin/cc/maxmc/msm/parent/settings/Settings.kt +++ b/MasterControl/src/main/kotlin/cc/maxmc/msm/mastercontrol/settings/Settings.kt @@ -1,6 +1,6 @@ -package cc.maxmc.msm.parent.settings +package cc.maxmc.msm.mastercontrol.settings -import cc.maxmc.msm.parent.settings.SettingsReader.config +import cc.maxmc.msm.mastercontrol.settings.SettingsReader.config object Settings { val serverPort diff --git a/parent/src/main/kotlin/cc/maxmc/msm/parent/settings/SettingsReader.kt b/MasterControl/src/main/kotlin/cc/maxmc/msm/mastercontrol/settings/SettingsReader.kt similarity index 90% rename from parent/src/main/kotlin/cc/maxmc/msm/parent/settings/SettingsReader.kt rename to MasterControl/src/main/kotlin/cc/maxmc/msm/mastercontrol/settings/SettingsReader.kt index ff1837c..810b822 100644 --- a/parent/src/main/kotlin/cc/maxmc/msm/parent/settings/SettingsReader.kt +++ b/MasterControl/src/main/kotlin/cc/maxmc/msm/mastercontrol/settings/SettingsReader.kt @@ -1,6 +1,6 @@ -package cc.maxmc.msm.parent.settings +package cc.maxmc.msm.mastercontrol.settings -import cc.maxmc.msm.parent.MultiServerMan +import cc.maxmc.msm.mastercontrol.MultiServerMan import net.md_5.bungee.api.ProxyServer import net.md_5.bungee.api.chat.TextComponent import net.md_5.bungee.config.Configuration diff --git a/MasterControl/src/main/resources/bungee.yml b/MasterControl/src/main/resources/bungee.yml new file mode 100644 index 0000000..1df6f91 --- /dev/null +++ b/MasterControl/src/main/resources/bungee.yml @@ -0,0 +1,3 @@ +name: MasterControl +main: cc.maxmc.msm.mastercontrol.MultiServerMan +author: MistyRain \ No newline at end of file diff --git a/parent/src/main/resources/settings.yml b/MasterControl/src/main/resources/settings.yml similarity index 100% rename from parent/src/main/resources/settings.yml rename to MasterControl/src/main/resources/settings.yml diff --git a/api/build.gradle.kts b/api/build.gradle.kts index 25bf224..139e51a 100644 --- a/api/build.gradle.kts +++ b/api/build.gradle.kts @@ -15,10 +15,14 @@ dependencies { compileOnly("io.github.waterfallmc:waterfall-api:1.19-R0.1-SNAPSHOT") } +java { + withSourcesJar() +} + publishing { publications { val release by getting(MavenPublication::class) { - artifact(tasks.jar) + from(components["java"]) } } } \ No newline at end of file diff --git a/build.gradle.kts b/build.gradle.kts index 6969fe4..ea01c7d 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -3,7 +3,7 @@ plugins { } group = "cc.maxmc.msm" -version = "1.0" +version = "1.1.0" subprojects { diff --git a/child/src/main/resources/bungee.yml b/child/src/main/resources/bungee.yml deleted file mode 100644 index 55122a2..0000000 --- a/child/src/main/resources/bungee.yml +++ /dev/null @@ -1,3 +0,0 @@ -name: MultiServerMan-Child -main: cc.maxmc.msm.child.MultiServerMan -author: TONY_All \ No newline at end of file diff --git a/common/src/main/kotlin/cc/maxmc/msm/common/network/ClusterPacketHandler.kt b/common/src/main/kotlin/cc/maxmc/msm/common/network/ClusterPacketHandler.kt index fe10f59..77a85cb 100644 --- a/common/src/main/kotlin/cc/maxmc/msm/common/network/ClusterPacketHandler.kt +++ b/common/src/main/kotlin/cc/maxmc/msm/common/network/ClusterPacketHandler.kt @@ -4,6 +4,7 @@ import cc.maxmc.msm.common.event.ChannelActiveEvent import cc.maxmc.msm.common.event.ChannelInactiveEvent import cc.maxmc.msm.common.event.PacketReceiveEvent import cc.maxmc.msm.common.utils.awaiting +import cc.maxmc.msm.common.utils.log import io.netty.channel.ChannelHandler.Sharable import io.netty.channel.ChannelHandlerContext import io.netty.channel.SimpleChannelInboundHandler @@ -12,9 +13,7 @@ import kotlin.coroutines.resume @Sharable object ClusterPacketHandler : SimpleChannelInboundHandler() { override fun channelRead0(ctx: ChannelHandlerContext, msg: BungeePacket) { - awaiting.filter { it.first == msg::class.java } - .filter { it.second(ctx.channel(), msg) } - .forEach { + awaiting.filter { it.first == msg::class.java }.filter { it.second(ctx.channel(), msg) }.forEach { it.third.resume(msg) } PacketReceiveEvent(ctx.channel(), msg).callEvent() diff --git a/parent/src/main/resources/bungee.yml b/parent/src/main/resources/bungee.yml deleted file mode 100644 index 990fd09..0000000 --- a/parent/src/main/resources/bungee.yml +++ /dev/null @@ -1,3 +0,0 @@ -name: MultiServerMan-Parent -main: cc.maxmc.msm.parent.MultiServerMan -author: TONY_All \ No newline at end of file diff --git a/settings.gradle.kts b/settings.gradle.kts index 506293f..2eae5e8 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -1,10 +1,10 @@ plugins { id("com.github.johnrengelman.shadow") version "8.1.0" apply false - kotlin("jvm") version "1.8.10" apply false + kotlin("jvm") version "1.8.20" apply false } rootProject.name = "MultiServerMan" -val subProjects = listOf("api", "common", "parent", "child") +val subProjects = listOf("api", "common", "MasterControl", "Controlled") include(subProjects) \ No newline at end of file