rename
This commit is contained in:
parent
4b65a2459b
commit
f971211e33
|
|
@ -3,7 +3,7 @@ plugins {
|
||||||
id("com.github.johnrengelman.shadow")
|
id("com.github.johnrengelman.shadow")
|
||||||
}
|
}
|
||||||
|
|
||||||
group = "cc.maxmc.msm.child"
|
group = "cc.maxmc.msm.controlled"
|
||||||
|
|
||||||
repositories {
|
repositories {
|
||||||
mavenCentral()
|
mavenCentral()
|
||||||
|
|
@ -14,9 +14,8 @@ dependencies {
|
||||||
implementation(kotlin("stdlib"))
|
implementation(kotlin("stdlib"))
|
||||||
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.0-Beta")
|
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.0-Beta")
|
||||||
implementation(project(":common"))
|
implementation(project(":common"))
|
||||||
implementation("io.netty:netty-all:4.1.90.Final")
|
compileOnly("io.netty:netty-all:4.1.90.Final")
|
||||||
@Suppress("VulnerableLibrariesLocal")
|
@Suppress("VulnerableLibrariesLocal") compileOnly("io.github.waterfallmc:waterfall-api:1.19-R0.1-SNAPSHOT")
|
||||||
implementation("io.github.waterfallmc:waterfall-api:1.19-R0.1-SNAPSHOT")
|
|
||||||
}
|
}
|
||||||
|
|
||||||
tasks.shadowJar {
|
tasks.shadowJar {
|
||||||
|
|
@ -1,14 +1,14 @@
|
||||||
package cc.maxmc.msm.child
|
package cc.maxmc.msm.controlled
|
||||||
|
|
||||||
import cc.maxmc.msm.api.MultiServerManAPIProvider
|
import cc.maxmc.msm.api.MultiServerManAPIProvider
|
||||||
import cc.maxmc.msm.child.api.APIImpl
|
import cc.maxmc.msm.controlled.api.APIImpl
|
||||||
import cc.maxmc.msm.child.listener.APIPacketListener
|
import cc.maxmc.msm.controlled.listener.APIPacketListener
|
||||||
import cc.maxmc.msm.child.command.Api
|
import cc.maxmc.msm.controlled.command.Api
|
||||||
import cc.maxmc.msm.child.command.Send
|
import cc.maxmc.msm.controlled.command.Send
|
||||||
import cc.maxmc.msm.child.listener.ProtocolListener
|
import cc.maxmc.msm.controlled.listener.ProtocolListener
|
||||||
import cc.maxmc.msm.child.netty.NetClient
|
import cc.maxmc.msm.controlled.netty.NetClient
|
||||||
import cc.maxmc.msm.child.settings.Settings
|
import cc.maxmc.msm.controlled.settings.Settings
|
||||||
import cc.maxmc.msm.child.settings.SettingsReader
|
import cc.maxmc.msm.controlled.settings.SettingsReader
|
||||||
import cc.maxmc.msm.common.network.netty.NetworkRegistry
|
import cc.maxmc.msm.common.network.netty.NetworkRegistry
|
||||||
import net.md_5.bungee.api.ProxyServer
|
import net.md_5.bungee.api.ProxyServer
|
||||||
import net.md_5.bungee.api.plugin.Plugin
|
import net.md_5.bungee.api.plugin.Plugin
|
||||||
|
|
@ -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.MultiServerManAPI
|
||||||
import cc.maxmc.msm.api.misc.MatchInfo
|
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 cc.maxmc.msm.common.network.packet.PPacketAPICall
|
||||||
import java.util.*
|
import java.util.*
|
||||||
import java.util.concurrent.CompletableFuture
|
import java.util.concurrent.CompletableFuture
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package cc.maxmc.msm.child.command
|
package cc.maxmc.msm.controlled.command
|
||||||
|
|
||||||
import cc.maxmc.msm.api.MultiServerManAPIProvider
|
import cc.maxmc.msm.api.MultiServerManAPIProvider
|
||||||
import net.md_5.bungee.api.CommandSender
|
import net.md_5.bungee.api.CommandSender
|
||||||
|
|
@ -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 cc.maxmc.msm.common.network.packet.PPacketDebug
|
||||||
import net.md_5.bungee.api.CommandSender
|
import net.md_5.bungee.api.CommandSender
|
||||||
import net.md_5.bungee.api.chat.TextComponent
|
import net.md_5.bungee.api.chat.TextComponent
|
||||||
|
|
@ -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.event.PacketReceiveEvent
|
||||||
import cc.maxmc.msm.common.network.packet.CPacketAPICallback
|
import cc.maxmc.msm.common.network.packet.CPacketAPICallback
|
||||||
import net.md_5.bungee.api.plugin.Listener
|
import net.md_5.bungee.api.plugin.Listener
|
||||||
|
|
@ -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.controlled.MultiServerMan
|
||||||
import cc.maxmc.msm.child.misc.SubServer
|
import cc.maxmc.msm.controlled.misc.SubServer
|
||||||
import cc.maxmc.msm.child.netty.NetClient
|
import cc.maxmc.msm.controlled.netty.NetClient
|
||||||
import cc.maxmc.msm.child.settings.Settings
|
import cc.maxmc.msm.controlled.settings.Settings
|
||||||
import cc.maxmc.msm.common.event.ChannelInactiveEvent
|
import cc.maxmc.msm.common.event.ChannelInactiveEvent
|
||||||
import cc.maxmc.msm.common.event.PacketReceiveEvent
|
import cc.maxmc.msm.common.event.PacketReceiveEvent
|
||||||
import cc.maxmc.msm.common.network.packet.*
|
import cc.maxmc.msm.common.network.packet.*
|
||||||
|
|
@ -47,15 +47,18 @@ object ProtocolListener : Listener {
|
||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler
|
@EventHandler
|
||||||
fun onDisconnect(packet: ChannelInactiveEvent) {
|
fun onDisconnect(evt: ChannelInactiveEvent) {
|
||||||
repeat(10) {
|
log("§c| §7与远程服务器断开连接.")
|
||||||
log("Remote Disconnected.")
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler
|
@EventHandler
|
||||||
fun onServerEnd(evt: PacketReceiveEvent) {
|
fun onServerEnd(evt: PacketReceiveEvent) {
|
||||||
val packet = evt.packet as? CPacketEndServer ?: return
|
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()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -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.controlled.MultiServerMan
|
||||||
import cc.maxmc.msm.child.settings.Settings
|
import cc.maxmc.msm.controlled.settings.Settings
|
||||||
import cc.maxmc.msm.child.utils.ScriptRunner
|
import cc.maxmc.msm.controlled.utils.ScriptRunner
|
||||||
import kotlinx.coroutines.Dispatchers
|
import kotlinx.coroutines.Dispatchers
|
||||||
import kotlinx.coroutines.withContext
|
import kotlinx.coroutines.withContext
|
||||||
import java.nio.file.Path
|
import java.nio.file.Path
|
||||||
|
|
@ -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.BungeePacket
|
||||||
import cc.maxmc.msm.common.network.netty.NetworkRegistry
|
import cc.maxmc.msm.common.network.netty.NetworkRegistry
|
||||||
|
|
@ -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 {
|
object Settings {
|
||||||
val name
|
val name
|
||||||
|
|
@ -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.ProxyServer
|
||||||
import net.md_5.bungee.api.chat.TextComponent
|
import net.md_5.bungee.api.chat.TextComponent
|
||||||
import net.md_5.bungee.config.Configuration
|
import net.md_5.bungee.config.Configuration
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
package cc.maxmc.msm.child.utils
|
package cc.maxmc.msm.controlled.utils
|
||||||
|
|
||||||
import cc.maxmc.msm.common.utils.log
|
import cc.maxmc.msm.common.utils.log
|
||||||
import kotlinx.coroutines.Dispatchers
|
import kotlinx.coroutines.Dispatchers
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
name: Controlled
|
||||||
|
main: cc.maxmc.msm.controlled.MultiServerMan
|
||||||
|
author: MistyRain
|
||||||
|
|
@ -3,7 +3,7 @@ plugins {
|
||||||
id("com.github.johnrengelman.shadow")
|
id("com.github.johnrengelman.shadow")
|
||||||
}
|
}
|
||||||
|
|
||||||
group = "cc.maxmc.msm.parent"
|
group = "cc.maxmc.msm.mastercontrol"
|
||||||
|
|
||||||
repositories {
|
repositories {
|
||||||
mavenCentral()
|
mavenCentral()
|
||||||
|
|
@ -1,13 +1,12 @@
|
||||||
package cc.maxmc.msm.parent
|
package cc.maxmc.msm.mastercontrol
|
||||||
|
|
||||||
import cc.maxmc.msm.api.MultiServerManAPIProvider
|
import cc.maxmc.msm.api.MultiServerManAPIProvider
|
||||||
import cc.maxmc.msm.parent.api.APIImpl
|
import cc.maxmc.msm.mastercontrol.api.APIImpl
|
||||||
import cc.maxmc.msm.parent.listener.PacketListener
|
import cc.maxmc.msm.mastercontrol.listener.PacketListener
|
||||||
import cc.maxmc.msm.parent.manager.MatchManager
|
import cc.maxmc.msm.mastercontrol.manager.MatchManager
|
||||||
import cc.maxmc.msm.parent.manager.ServerManager
|
import cc.maxmc.msm.mastercontrol.manager.ServerManager
|
||||||
import cc.maxmc.msm.parent.netty.NetManager
|
import cc.maxmc.msm.mastercontrol.netty.NetManager
|
||||||
import net.md_5.bungee.api.ProxyServer
|
import net.md_5.bungee.api.ProxyServer
|
||||||
import net.md_5.bungee.api.connection.Server
|
|
||||||
import net.md_5.bungee.api.plugin.Plugin
|
import net.md_5.bungee.api.plugin.Plugin
|
||||||
|
|
||||||
class MultiServerMan : Plugin() {
|
class MultiServerMan : Plugin() {
|
||||||
|
|
@ -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.MultiServerManAPI
|
||||||
import cc.maxmc.msm.api.misc.MatchInfo
|
import cc.maxmc.msm.api.misc.MatchInfo
|
||||||
import cc.maxmc.msm.parent.database.SQLDatabase
|
import cc.maxmc.msm.mastercontrol.database.SQLDatabase
|
||||||
import cc.maxmc.msm.parent.manager.MatchManager
|
import cc.maxmc.msm.mastercontrol.manager.MatchManager
|
||||||
|
|
||||||
object APIImpl : MultiServerManAPI {
|
object APIImpl : MultiServerManAPI {
|
||||||
override fun getServer(type: String, players: List<String>): MatchInfo {
|
override fun getServer(type: String, players: List<String>): MatchInfo {
|
||||||
|
|
@ -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.api.misc.MatchInfo
|
||||||
import cc.maxmc.msm.parent.manager.MatchManager
|
import cc.maxmc.msm.mastercontrol.manager.MatchManager
|
||||||
import cc.maxmc.msm.parent.settings.Settings
|
import cc.maxmc.msm.mastercontrol.settings.Settings
|
||||||
import com.zaxxer.hikari.HikariConfig
|
import com.zaxxer.hikari.HikariConfig
|
||||||
import com.zaxxer.hikari.pool.HikariPool
|
import com.zaxxer.hikari.pool.HikariPool
|
||||||
import java.sql.Timestamp
|
import java.sql.Timestamp
|
||||||
|
|
@ -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.api.MultiServerManAPIProvider
|
||||||
import cc.maxmc.msm.common.event.ChannelActiveEvent
|
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.PPacketAPICall
|
||||||
import cc.maxmc.msm.common.network.packet.PPacketDebug
|
import cc.maxmc.msm.common.network.packet.PPacketDebug
|
||||||
import cc.maxmc.msm.common.utils.log
|
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.api.plugin.Listener
|
||||||
import net.md_5.bungee.event.EventHandler
|
import net.md_5.bungee.event.EventHandler
|
||||||
|
|
||||||
|
|
@ -57,6 +57,7 @@ object PacketListener : Listener {
|
||||||
ChildManager.registerChild(evt.channel)
|
ChildManager.registerChild(evt.channel)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@EventHandler
|
||||||
fun onChannelInactive(evt: ChannelInactiveEvent) {
|
fun onChannelInactive(evt: ChannelInactiveEvent) {
|
||||||
log("§c| §7子BC ${evt.channel.remoteAddress()} 断开连接.")
|
log("§c| §7子BC ${evt.channel.remoteAddress()} 断开连接.")
|
||||||
ChildManager.unregisterChild(evt.channel)
|
ChildManager.unregisterChild(evt.channel)
|
||||||
|
|
@ -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.CPacketGetInfo
|
||||||
import cc.maxmc.msm.common.network.packet.PPacketChildInfo
|
import cc.maxmc.msm.common.network.packet.PPacketChildInfo
|
||||||
import cc.maxmc.msm.common.utils.awaitPacket
|
import cc.maxmc.msm.common.utils.awaitPacket
|
||||||
import cc.maxmc.msm.common.utils.log
|
import cc.maxmc.msm.common.utils.log
|
||||||
import cc.maxmc.msm.common.utils.pluginScope
|
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 io.netty.channel.Channel
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
import java.util.*
|
import java.util.*
|
||||||
|
|
@ -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.api.misc.MatchInfo
|
||||||
import cc.maxmc.msm.parent.database.SQLDatabase
|
import cc.maxmc.msm.mastercontrol.database.SQLDatabase
|
||||||
import java.util.concurrent.ConcurrentHashMap
|
import java.util.concurrent.ConcurrentHashMap
|
||||||
|
|
||||||
object MatchManager {
|
object MatchManager {
|
||||||
private val matchMap = ConcurrentHashMap<Int, MatchInfo>()
|
private val matchMap = ConcurrentHashMap<Int, MatchInfo>()
|
||||||
|
|
||||||
fun requestMatch(type: String, players: List<String>): MatchInfo {
|
fun requestMatch(type: String, players: List<String>): MatchInfo {
|
||||||
val server = ServerManager.consumeServer(type)
|
val server = ServerManager.consumeServer(type) ?: return MatchInfo()
|
||||||
val id = SQLDatabase.recordMatch(type, players)
|
val id = SQLDatabase.recordMatch(type, players)
|
||||||
val match = MatchInfo(id, server)
|
val match = MatchInfo(id, server)
|
||||||
matchMap[id] = match
|
matchMap[id] = match
|
||||||
|
|
@ -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.api.misc.ServerInfo
|
||||||
import cc.maxmc.msm.common.network.packet.CPacketEndServer
|
import cc.maxmc.msm.common.network.packet.CPacketEndServer
|
||||||
import cc.maxmc.msm.common.utils.log
|
import cc.maxmc.msm.common.utils.log
|
||||||
import cc.maxmc.msm.common.utils.pluginScope
|
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.channels.Channel
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
import java.util.*
|
import java.util.*
|
||||||
|
|
@ -44,9 +44,9 @@ object ServerManager {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fun consumeServer(type: String): ServerInfo {
|
fun consumeServer(type: String): ServerInfo? {
|
||||||
val servers = getAvailableServers(type)
|
val servers = getAvailableServers(type)
|
||||||
val info = servers.first()
|
val info = servers.firstOrNull() ?: return null
|
||||||
info.isAvailable = false
|
info.isAvailable = false
|
||||||
if (servers.size - 1 <= 2) {
|
if (servers.size - 1 <= 2) {
|
||||||
pluginScope.launch {
|
pluginScope.launch {
|
||||||
|
|
@ -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.api.misc.ServerInfo
|
||||||
import cc.maxmc.msm.common.network.BungeePacket
|
import cc.maxmc.msm.common.network.BungeePacket
|
||||||
|
|
@ -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.network.netty.NetworkRegistry
|
||||||
import cc.maxmc.msm.common.utils.log
|
import cc.maxmc.msm.common.utils.log
|
||||||
import cc.maxmc.msm.common.utils.pipelineInit
|
import cc.maxmc.msm.common.utils.pipelineInit
|
||||||
import cc.maxmc.msm.parent.manager.MatchManager
|
import cc.maxmc.msm.mastercontrol.settings.Settings
|
||||||
import cc.maxmc.msm.parent.manager.ServerManager
|
|
||||||
import cc.maxmc.msm.parent.settings.Settings
|
|
||||||
import io.netty.bootstrap.ServerBootstrap
|
import io.netty.bootstrap.ServerBootstrap
|
||||||
import io.netty.channel.ChannelFutureListener
|
import io.netty.channel.ChannelFutureListener
|
||||||
import io.netty.channel.nio.NioEventLoopGroup
|
import io.netty.channel.nio.NioEventLoopGroup
|
||||||
|
|
@ -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 {
|
object Settings {
|
||||||
val serverPort
|
val serverPort
|
||||||
|
|
@ -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.ProxyServer
|
||||||
import net.md_5.bungee.api.chat.TextComponent
|
import net.md_5.bungee.api.chat.TextComponent
|
||||||
import net.md_5.bungee.config.Configuration
|
import net.md_5.bungee.config.Configuration
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
name: MasterControl
|
||||||
|
main: cc.maxmc.msm.mastercontrol.MultiServerMan
|
||||||
|
author: MistyRain
|
||||||
|
|
@ -15,10 +15,14 @@ dependencies {
|
||||||
compileOnly("io.github.waterfallmc:waterfall-api:1.19-R0.1-SNAPSHOT")
|
compileOnly("io.github.waterfallmc:waterfall-api:1.19-R0.1-SNAPSHOT")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
java {
|
||||||
|
withSourcesJar()
|
||||||
|
}
|
||||||
|
|
||||||
publishing {
|
publishing {
|
||||||
publications {
|
publications {
|
||||||
val release by getting(MavenPublication::class) {
|
val release by getting(MavenPublication::class) {
|
||||||
artifact(tasks.jar)
|
from(components["java"])
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -3,7 +3,7 @@ plugins {
|
||||||
}
|
}
|
||||||
|
|
||||||
group = "cc.maxmc.msm"
|
group = "cc.maxmc.msm"
|
||||||
version = "1.0"
|
version = "1.1.0"
|
||||||
|
|
||||||
|
|
||||||
subprojects {
|
subprojects {
|
||||||
|
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
name: MultiServerMan-Child
|
|
||||||
main: cc.maxmc.msm.child.MultiServerMan
|
|
||||||
author: TONY_All
|
|
||||||
|
|
@ -4,6 +4,7 @@ import cc.maxmc.msm.common.event.ChannelActiveEvent
|
||||||
import cc.maxmc.msm.common.event.ChannelInactiveEvent
|
import cc.maxmc.msm.common.event.ChannelInactiveEvent
|
||||||
import cc.maxmc.msm.common.event.PacketReceiveEvent
|
import cc.maxmc.msm.common.event.PacketReceiveEvent
|
||||||
import cc.maxmc.msm.common.utils.awaiting
|
import cc.maxmc.msm.common.utils.awaiting
|
||||||
|
import cc.maxmc.msm.common.utils.log
|
||||||
import io.netty.channel.ChannelHandler.Sharable
|
import io.netty.channel.ChannelHandler.Sharable
|
||||||
import io.netty.channel.ChannelHandlerContext
|
import io.netty.channel.ChannelHandlerContext
|
||||||
import io.netty.channel.SimpleChannelInboundHandler
|
import io.netty.channel.SimpleChannelInboundHandler
|
||||||
|
|
@ -12,9 +13,7 @@ import kotlin.coroutines.resume
|
||||||
@Sharable
|
@Sharable
|
||||||
object ClusterPacketHandler : SimpleChannelInboundHandler<BungeePacket>() {
|
object ClusterPacketHandler : SimpleChannelInboundHandler<BungeePacket>() {
|
||||||
override fun channelRead0(ctx: ChannelHandlerContext, msg: BungeePacket) {
|
override fun channelRead0(ctx: ChannelHandlerContext, msg: BungeePacket) {
|
||||||
awaiting.filter { it.first == msg::class.java }
|
awaiting.filter { it.first == msg::class.java }.filter { it.second(ctx.channel(), msg) }.forEach {
|
||||||
.filter { it.second(ctx.channel(), msg) }
|
|
||||||
.forEach {
|
|
||||||
it.third.resume(msg)
|
it.third.resume(msg)
|
||||||
}
|
}
|
||||||
PacketReceiveEvent(ctx.channel(), msg).callEvent()
|
PacketReceiveEvent(ctx.channel(), msg).callEvent()
|
||||||
|
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
name: MultiServerMan-Parent
|
|
||||||
main: cc.maxmc.msm.parent.MultiServerMan
|
|
||||||
author: TONY_All
|
|
||||||
|
|
@ -1,10 +1,10 @@
|
||||||
plugins {
|
plugins {
|
||||||
id("com.github.johnrengelman.shadow") version "8.1.0" apply false
|
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"
|
rootProject.name = "MultiServerMan"
|
||||||
|
|
||||||
val subProjects = listOf("api", "common", "parent", "child")
|
val subProjects = listOf("api", "common", "MasterControl", "Controlled")
|
||||||
|
|
||||||
include(subProjects)
|
include(subProjects)
|
||||||
Loading…
Reference in New Issue