This commit is contained in:
tony_all
2023-03-15 13:34:01 +08:00
parent 49b85cf291
commit a027273378
19 changed files with 248 additions and 36 deletions
@@ -1,19 +1,23 @@
package cc.maxmc.msm.parent
import cc.maxmc.msm.common.Placeholder
import cc.maxmc.msm.common.network.netty.NetworkRegistry
import command.Send
import cc.maxmc.msm.parent.command.Send
import net.md_5.bungee.api.ProxyServer
import net.md_5.bungee.api.plugin.Plugin
class MultiServerMan : Plugin() {
override fun onEnable() {
instance = this
ProxyServer.getInstance().pluginManager.registerCommand(this, Send)
Placeholder.inject(NetworkRegistry.PacketDirection.PARENT_BOUND)
}
override fun onDisable() {
}
companion object {
lateinit var instance: MultiServerMan
private set
}
}
@@ -1,12 +1,13 @@
package command
package cc.maxmc.msm.parent.command
import net.md_5.bungee.api.CommandSender
import net.md_5.bungee.api.chat.TextComponent
import net.md_5.bungee.api.plugin.Command
object Send: Command("debugP") {
object Send : Command("debugP") {
override fun execute(sender: CommandSender, args: Array<out String>) {
val content = args.joinToString(" ")
sender.sendMessage("Success.")
sender.sendMessage(TextComponent("Success."))
}
}
@@ -0,0 +1,23 @@
package cc.maxmc.msm.parent.netty
import cc.maxmc.msm.common.utils.pipelineInit
import cc.maxmc.msm.parent.settings.Settings
import io.netty.bootstrap.ServerBootstrap
import io.netty.channel.nio.NioEventLoopGroup
object NetManager {
val parentGroup = NioEventLoopGroup()
val childGroup = NioEventLoopGroup()
init {
}
fun startServer() {
ServerBootstrap()
.group(parentGroup, childGroup)
.childHandler(pipelineInit())
.bind(Settings.serverPort)
}
}
@@ -0,0 +1,4 @@
package cc.maxmc.msm.parent.netty
object ParentPacketHandler {
}
@@ -1,9 +0,0 @@
package cc.maxmc.msm.parent.network
import cc.maxmc.msm.common.network.netty.NetworkRegistry
object NetManager {
private val current = NetworkRegistry.PacketDirection.PARENT_BOUND
}
@@ -0,0 +1,10 @@
package cc.maxmc.msm.parent.settings
import cc.maxmc.msm.parent.settings.SettingsReader.config
object Settings {
val name
get() = config
val serverPort
get() = config.getInt("server_port", 25566)
}
@@ -0,0 +1,25 @@
package cc.maxmc.msm.parent.settings
import cc.maxmc.msm.parent.MultiServerMan
import net.md_5.bungee.api.ProxyServer
import net.md_5.bungee.api.chat.TextComponent
import net.md_5.bungee.config.Configuration
import net.md_5.bungee.config.ConfigurationProvider
import net.md_5.bungee.config.YamlConfiguration
import kotlin.io.path.*
object SettingsReader {
private val file = MultiServerMan.instance.dataFolder.toPath().resolve("settings.yml")
val config: Configuration
init {
if (!file.exists()) {
MultiServerMan.instance.dataFolder.toPath().createDirectories()
val stream = MultiServerMan.instance.getResourceAsStream("settings.yml")
file.createFile()
stream.copyTo(file.outputStream())
ProxyServer.getInstance().console.sendMessage(TextComponent("§b| §7配置文件不存在,正在创建配置文件。"))
}
config = ConfigurationProvider.getProvider(YamlConfiguration::class.java).load(file.inputStream())
}
}