mirror of
https://gitlab.bixilon.de/bixilon/minosoft.git
synced 2025-09-13 09:26:11 -04:00
wip debug world
This commit is contained in:
parent
aaa195cdc6
commit
ee02f8bb5c
@ -56,7 +56,7 @@ class ChatNodeTest {
|
||||
util::class.java.getFieldOrNull("session")!!.forceSet(util, session)
|
||||
util::class.java.getFieldOrNull("random")!!.forceSet(util, SecureRandom())
|
||||
session::util.forceSet(util)
|
||||
session::network.forceSet(TestNetwork())
|
||||
session::connection.forceSet(TestNetwork(session))
|
||||
session.commands = root
|
||||
val stack = CommandStack(session)
|
||||
execute(CommandReader(command), stack)
|
||||
|
@ -13,22 +13,16 @@
|
||||
|
||||
package de.bixilon.minosoft.protocol.network.network.client.netty.packet.receiver
|
||||
|
||||
import de.bixilon.minosoft.protocol.network.network.client.netty.exceptions.PacketHandleException
|
||||
import de.bixilon.minosoft.protocol.network.network.client.test.TestNetwork
|
||||
import de.bixilon.minosoft.protocol.network.session.Session
|
||||
import de.bixilon.minosoft.protocol.packets.registry.PacketType
|
||||
import de.bixilon.minosoft.protocol.packets.s2c.S2CPacket
|
||||
import org.testng.Assert.assertEquals
|
||||
import org.testng.Assert.assertTrue
|
||||
import org.testng.annotations.Test
|
||||
|
||||
/*
|
||||
// TODO
|
||||
@Test(groups = ["network"])
|
||||
class PacketReceiverTest {
|
||||
val type = PacketType("test", false, false, null, null)
|
||||
|
||||
|
||||
private fun create(): PacketReceiver {
|
||||
val network = TestNetwork()
|
||||
val session = createSession()
|
||||
val receiver = PacketReceiver(TestNetwork(session), session)
|
||||
return network.receiver
|
||||
}
|
||||
|
||||
@ -86,3 +80,4 @@ class PacketReceiverTest {
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
@ -13,18 +13,11 @@
|
||||
|
||||
package de.bixilon.minosoft.protocol.network.network.client.netty.packet.sender
|
||||
|
||||
import de.bixilon.minosoft.protocol.network.network.client.test.TestNetwork
|
||||
import de.bixilon.minosoft.protocol.network.session.play.PacketTestUtil.assertNoPacket
|
||||
import de.bixilon.minosoft.protocol.network.session.play.PacketTestUtil.assertPacket
|
||||
import de.bixilon.minosoft.protocol.packets.c2s.C2SPacket
|
||||
import org.testng.Assert.assertEquals
|
||||
import org.testng.Assert.assertTrue
|
||||
import org.testng.annotations.Test
|
||||
|
||||
/*
|
||||
// TODO
|
||||
@Test(groups = ["network"])
|
||||
class PacketSenderTest {
|
||||
|
||||
|
||||
private fun create(): PacketSender {
|
||||
val network = TestNetwork()
|
||||
return network.sender
|
||||
@ -71,3 +64,5 @@ class PacketSenderTest {
|
||||
override fun log(reducedLog: Boolean) = Unit
|
||||
}
|
||||
}
|
||||
|
||||
*/
|
||||
|
@ -13,51 +13,31 @@
|
||||
|
||||
package de.bixilon.minosoft.protocol.network.network.client.test
|
||||
|
||||
import de.bixilon.minosoft.protocol.address.ServerAddress
|
||||
import de.bixilon.minosoft.protocol.network.network.client.ClientNetwork
|
||||
import de.bixilon.minosoft.protocol.network.network.client.netty.exceptions.PacketHandleException
|
||||
import de.bixilon.minosoft.protocol.network.network.client.netty.packet.receiver.PacketReceiver
|
||||
import de.bixilon.minosoft.protocol.network.network.client.netty.packet.sender.PacketSender
|
||||
import de.bixilon.minosoft.protocol.ServerConnection
|
||||
import de.bixilon.minosoft.protocol.network.session.Session
|
||||
import de.bixilon.minosoft.protocol.network.session.play.SessionTestUtil.createSession
|
||||
import de.bixilon.minosoft.protocol.packets.c2s.C2SPacket
|
||||
import de.bixilon.minosoft.protocol.protocol.ProtocolStates
|
||||
import java.util.concurrent.ConcurrentLinkedQueue
|
||||
import javax.crypto.Cipher
|
||||
|
||||
class TestNetwork(
|
||||
session: Session = createSession(),
|
||||
) : ClientNetwork {
|
||||
override val sender = PacketSender(this)
|
||||
override val receiver = PacketReceiver(this, session)
|
||||
override var connected: Boolean = true
|
||||
override var state: ProtocolStates = ProtocolStates.PLAY
|
||||
override var compressionThreshold: Int = -1
|
||||
override var encrypted: Boolean = false
|
||||
override val detached = false
|
||||
|
||||
session: Session,
|
||||
) : ServerConnection {
|
||||
override val identifier: String
|
||||
get() = "test"
|
||||
override var active = false
|
||||
private var queue = ConcurrentLinkedQueue<C2SPacket>()
|
||||
|
||||
override fun connect(address: ServerAddress, native: Boolean) {
|
||||
connected = true
|
||||
override fun connect(session: Session) {
|
||||
active = true
|
||||
}
|
||||
|
||||
override fun disconnect() {
|
||||
connected = false
|
||||
}
|
||||
|
||||
override fun setupEncryption(encrypt: Cipher, decrypt: Cipher) {
|
||||
encrypted = true
|
||||
}
|
||||
|
||||
override fun setupCompression(threshold: Int) {
|
||||
this.compressionThreshold = threshold
|
||||
active = false
|
||||
}
|
||||
|
||||
override fun detach() = Unit
|
||||
|
||||
|
||||
override fun forceSend(packet: C2SPacket) {
|
||||
override fun send(packet: C2SPacket) {
|
||||
if (queue.size > 15) {
|
||||
// leaking
|
||||
return
|
||||
@ -71,8 +51,4 @@ class TestNetwork(
|
||||
}
|
||||
return queue.remove()
|
||||
}
|
||||
|
||||
override fun handleError(error: Throwable) {
|
||||
throw PacketHandleException(error)
|
||||
}
|
||||
}
|
||||
|
@ -16,17 +16,17 @@ package de.bixilon.minosoft.protocol.network.session.play
|
||||
import de.bixilon.kutil.cast.CastUtil.unsafeCast
|
||||
import de.bixilon.kutil.exception.Broken
|
||||
import de.bixilon.kutil.unsafe.UnsafeUtil.setUnsafeAccessible
|
||||
import de.bixilon.minosoft.protocol.network.network.client.ClientNetwork
|
||||
import de.bixilon.minosoft.protocol.ServerConnection
|
||||
import de.bixilon.minosoft.protocol.network.network.client.test.TestNetwork
|
||||
import de.bixilon.minosoft.protocol.packets.c2s.C2SPacket
|
||||
|
||||
object PacketTestUtil {
|
||||
|
||||
fun PlaySession.test(): TestNetwork {
|
||||
return network.unsafeCast()
|
||||
return connection.unsafeCast()
|
||||
}
|
||||
|
||||
fun ClientNetwork.assertPacket(expected: C2SPacket) {
|
||||
fun ServerConnection.assertPacket(expected: C2SPacket) {
|
||||
if (this !is TestNetwork) Broken("Not testing")
|
||||
val found = take() ?: throw AssertionError("Expected packet $expected, but found [null]!")
|
||||
if (found::class.java != expected::class.java) {
|
||||
@ -42,7 +42,7 @@ object PacketTestUtil {
|
||||
}
|
||||
}
|
||||
|
||||
fun ClientNetwork.assertNoPacket() {
|
||||
fun ServerConnection.assertNoPacket() {
|
||||
if (this !is TestNetwork) Broken("Not testing")
|
||||
val packet = take()
|
||||
if (packet != null) {
|
||||
@ -64,7 +64,7 @@ object PacketTestUtil {
|
||||
assertNoPacket()
|
||||
}
|
||||
|
||||
fun <T : C2SPacket> ClientNetwork.assertPacket(type: Class<T>): T {
|
||||
fun <T : C2SPacket> ServerConnection.assertPacket(type: Class<T>): T {
|
||||
if (this !is TestNetwork) Broken("Not testing")
|
||||
val packet = take() ?: throw AssertionError("Expected packet of type $type, but found [null]!")
|
||||
val clazz = packet::class.java
|
||||
|
@ -57,7 +57,7 @@ object SessionTestUtil {
|
||||
private val REGISTRIES = PlaySession::registries.field
|
||||
private val WORLD = PlaySession::world.field
|
||||
private val PLAYER = PlaySession::player.field
|
||||
private val NETWORK = PlaySession::network.field
|
||||
private val CONNECTION = PlaySession::connection.field
|
||||
private val EVENTS = PlaySession::events.field
|
||||
private val PROFILES = PlaySession::profiles.field
|
||||
private val ASSETS_MANAGER = PlaySession::assetsManager.field
|
||||
@ -83,7 +83,7 @@ object SessionTestUtil {
|
||||
WORLD.set(session, createWorld(session, light, (worldSize * 2 + 1).pow(2)))
|
||||
PLAYER.set(session, LocalPlayerEntity(session.account, session, signature))
|
||||
session.player.startInit()
|
||||
NETWORK.set(session, TestNetwork(session))
|
||||
CONNECTION.set(session, TestNetwork(session))
|
||||
EVENTS.set(session, EventMaster())
|
||||
PROFILES.set(session, profiles)
|
||||
ASSETS_MANAGER.set(session, SessionAssetsManager(AssetsManagerProperties(PackProperties(version.packFormat))))
|
||||
|
@ -24,7 +24,7 @@ import de.bixilon.minosoft.data.chat.signature.ChatSignatureProperties
|
||||
import de.bixilon.minosoft.data.chat.signature.errors.KeyExpiredError
|
||||
import de.bixilon.minosoft.data.text.TextComponent
|
||||
import de.bixilon.minosoft.modding.event.events.chat.ChatMessageEvent
|
||||
import de.bixilon.minosoft.protocol.connection.NetworkConnection
|
||||
import de.bixilon.minosoft.protocol.network.NetworkConnection
|
||||
import de.bixilon.minosoft.protocol.network.session.play.PlaySession
|
||||
import de.bixilon.minosoft.protocol.packets.c2s.play.SessionDataC2SP
|
||||
import de.bixilon.minosoft.protocol.protocol.ProtocolStates
|
||||
|
@ -21,7 +21,7 @@ import de.bixilon.minosoft.modding.event.events.session.play.PlaySessionCreateEv
|
||||
import de.bixilon.minosoft.modding.event.listener.CallbackEventListener.Companion.listen
|
||||
import de.bixilon.minosoft.modding.event.master.GlobalEventMaster
|
||||
import de.bixilon.minosoft.modding.loader.mod.ModMain
|
||||
import de.bixilon.minosoft.protocol.connection.NetworkConnection
|
||||
import de.bixilon.minosoft.protocol.network.NetworkConnection
|
||||
import de.bixilon.minosoft.protocol.network.session.play.PlaySession
|
||||
import de.bixilon.minosoft.util.KUtil.toResourceLocation
|
||||
|
||||
|
@ -46,7 +46,7 @@ import de.bixilon.minosoft.gui.eros.modding.invoker.JavaFXEventListener
|
||||
import de.bixilon.minosoft.gui.eros.util.JavaFXUtil
|
||||
import de.bixilon.minosoft.gui.eros.util.JavaFXUtil.ctext
|
||||
import de.bixilon.minosoft.modding.event.events.KickEvent
|
||||
import de.bixilon.minosoft.protocol.connection.NetworkConnection
|
||||
import de.bixilon.minosoft.protocol.network.NetworkConnection
|
||||
import de.bixilon.minosoft.protocol.network.session.play.PlaySession
|
||||
import de.bixilon.minosoft.protocol.network.session.play.PlaySessionStates
|
||||
import de.bixilon.minosoft.protocol.network.session.play.PlaySessionStates.Companion.disconnected
|
||||
|
@ -157,7 +157,7 @@ object RenderLoader {
|
||||
|
||||
val latch = SimpleLatch(1)
|
||||
|
||||
session::state.observe(this) {
|
||||
session::state.observe(this, instant = true) {
|
||||
if (it == PlaySessionStates.PLAYING && latch.count > 0) {
|
||||
latch.dec()
|
||||
}
|
||||
|
@ -33,7 +33,7 @@ import de.bixilon.minosoft.gui.rendering.gui.elements.text.TextElement
|
||||
import de.bixilon.minosoft.gui.rendering.gui.mesh.GUIVertexConsumer
|
||||
import de.bixilon.minosoft.gui.rendering.gui.mesh.GUIVertexOptions
|
||||
import de.bixilon.minosoft.gui.rendering.util.vec.vec2.Vec2Util.EMPTY
|
||||
import de.bixilon.minosoft.protocol.connection.NetworkConnection
|
||||
import de.bixilon.minosoft.protocol.network.NetworkConnection
|
||||
import de.bixilon.minosoft.util.KUtil.nullCompare
|
||||
import java.util.*
|
||||
|
||||
|
@ -24,7 +24,7 @@ import de.bixilon.minosoft.gui.rendering.RenderContext
|
||||
import de.bixilon.minosoft.gui.rendering.input.key.manager.binding.BindingsManager
|
||||
import de.bixilon.minosoft.gui.rendering.system.base.PolygonModes
|
||||
import de.bixilon.minosoft.gui.rendering.system.window.CursorModes
|
||||
import de.bixilon.minosoft.protocol.connection.NetworkConnection
|
||||
import de.bixilon.minosoft.protocol.network.NetworkConnection
|
||||
import de.bixilon.minosoft.protocol.network.session.play.PlaySession
|
||||
import de.bixilon.minosoft.util.KUtil.format
|
||||
|
||||
|
@ -14,7 +14,7 @@
|
||||
package de.bixilon.minosoft.protocol
|
||||
|
||||
import de.bixilon.minosoft.protocol.address.ServerAddress
|
||||
import de.bixilon.minosoft.protocol.connection.NetworkConnection
|
||||
import de.bixilon.minosoft.protocol.network.NetworkConnection
|
||||
import de.bixilon.minosoft.util.DNSUtil
|
||||
import de.bixilon.minosoft.util.logging.Log
|
||||
import de.bixilon.minosoft.util.logging.LogMessageType
|
||||
|
@ -11,7 +11,7 @@
|
||||
* This software is not affiliated with Mojang AB, the original developer of Minecraft.
|
||||
*/
|
||||
|
||||
package de.bixilon.minosoft.protocol.connection
|
||||
package de.bixilon.minosoft.protocol
|
||||
|
||||
import de.bixilon.minosoft.protocol.network.session.Session
|
||||
import de.bixilon.minosoft.protocol.packets.c2s.C2SPacket
|
@ -0,0 +1,80 @@
|
||||
/*
|
||||
* Minosoft
|
||||
* Copyright (C) 2020-2024 Moritz Zwerger
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*
|
||||
* This software is not affiliated with Mojang AB, the original developer of Minecraft.
|
||||
*/
|
||||
|
||||
package de.bixilon.minosoft.protocol.local
|
||||
|
||||
import de.bixilon.kotlinglm.vec3.Vec3d
|
||||
import de.bixilon.kutil.observer.DataObserver.Companion.observed
|
||||
import de.bixilon.minosoft.data.abilities.Gamemodes
|
||||
import de.bixilon.minosoft.data.entities.entities.player.local.Abilities
|
||||
import de.bixilon.minosoft.data.registries.blocks.types.building.stone.StoneBlock
|
||||
import de.bixilon.minosoft.data.registries.dimension.DimensionProperties
|
||||
import de.bixilon.minosoft.data.registries.identified.Namespaces.minecraft
|
||||
import de.bixilon.minosoft.data.world.World
|
||||
import de.bixilon.minosoft.data.world.biome.source.DummyBiomeSource
|
||||
import de.bixilon.minosoft.data.world.positions.ChunkPosition
|
||||
import de.bixilon.minosoft.protocol.ServerConnection
|
||||
import de.bixilon.minosoft.protocol.network.session.Session
|
||||
import de.bixilon.minosoft.protocol.network.session.play.PlaySession
|
||||
import de.bixilon.minosoft.protocol.network.session.play.PlaySessionStates
|
||||
import de.bixilon.minosoft.protocol.packets.c2s.C2SPacket
|
||||
import de.bixilon.minosoft.util.logging.Log
|
||||
import de.bixilon.minosoft.util.logging.LogLevels
|
||||
import de.bixilon.minosoft.util.logging.LogMessageType
|
||||
|
||||
class DebugConnection : ServerConnection {
|
||||
override val identifier = "dbg"
|
||||
override var active by observed(false)
|
||||
private var detached = false
|
||||
private lateinit var session: PlaySession
|
||||
|
||||
private fun World.createChunks(position: ChunkPosition, radius: Int) {
|
||||
val biome = session.registries.biome[minecraft("plains")]
|
||||
val stone = session.registries.block[StoneBlock.Block]?.states?.default
|
||||
for (x in position.x - radius until position.x + radius) {
|
||||
for (z in position.y - radius until position.y + radius) {
|
||||
val chunk = chunks.create(ChunkPosition(x, z))
|
||||
chunk.biomeSource = DummyBiomeSource(biome)
|
||||
chunk[0, 0, 0] = stone
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
override fun connect(session: Session) {
|
||||
if (session !is PlaySession) throw IllegalStateException("Not a play session?")
|
||||
Log.log(LogMessageType.NETWORK, LogLevels.INFO) { "Establishing debug connection" }
|
||||
active = true
|
||||
this.session = session
|
||||
|
||||
|
||||
session.world.dimension = DimensionProperties()
|
||||
session.player.additional.gamemode = Gamemodes.CREATIVE
|
||||
session.player.abilities = Abilities(false, true, true)
|
||||
session.player.physics.forceTeleport(Vec3d(0, 100, 0))
|
||||
session.world.createChunks(ChunkPosition(0, 0), 5)
|
||||
session.state = PlaySessionStates.PLAYING
|
||||
}
|
||||
|
||||
override fun disconnect() {
|
||||
active = false
|
||||
}
|
||||
|
||||
override fun detach() {
|
||||
detached = true
|
||||
}
|
||||
|
||||
override fun send(packet: C2SPacket) {
|
||||
if (detached) return
|
||||
packet.log(false)
|
||||
}
|
||||
}
|
@ -11,12 +11,13 @@
|
||||
* This software is not affiliated with Mojang AB, the original developer of Minecraft.
|
||||
*/
|
||||
|
||||
package de.bixilon.minosoft.protocol.connection
|
||||
package de.bixilon.minosoft.protocol.network
|
||||
|
||||
import de.bixilon.kutil.concurrent.lock.thread.ThreadLock
|
||||
import de.bixilon.kutil.observer.DataObserver
|
||||
import de.bixilon.kutil.observer.DataObserver.Companion.observe
|
||||
import de.bixilon.kutil.observer.DataObserver.Companion.observed
|
||||
import de.bixilon.minosoft.protocol.ServerConnection
|
||||
import de.bixilon.minosoft.protocol.address.ServerAddress
|
||||
import de.bixilon.minosoft.protocol.network.network.client.ClientNetwork
|
||||
import de.bixilon.minosoft.protocol.network.network.client.netty.NettyClient
|
@ -13,7 +13,7 @@
|
||||
|
||||
package de.bixilon.minosoft.protocol.network.network.client
|
||||
|
||||
import de.bixilon.minosoft.protocol.connection.NetworkConnection
|
||||
import de.bixilon.minosoft.protocol.network.NetworkConnection
|
||||
import de.bixilon.minosoft.protocol.network.network.client.netty.packet.receiver.PacketReceiver
|
||||
import de.bixilon.minosoft.protocol.network.network.client.netty.packet.sender.PacketSender
|
||||
import de.bixilon.minosoft.protocol.packets.c2s.C2SPacket
|
||||
|
@ -16,7 +16,7 @@ package de.bixilon.minosoft.protocol.network.network.client.netty
|
||||
import de.bixilon.kutil.cast.CastUtil.nullCast
|
||||
import de.bixilon.kutil.exception.ExceptionUtil.catchAll
|
||||
import de.bixilon.minosoft.config.profile.profiles.other.OtherProfileManager
|
||||
import de.bixilon.minosoft.protocol.connection.NetworkConnection
|
||||
import de.bixilon.minosoft.protocol.network.NetworkConnection
|
||||
import de.bixilon.minosoft.protocol.network.network.client.ClientNetwork
|
||||
import de.bixilon.minosoft.protocol.network.network.client.netty.exceptions.NetworkException
|
||||
import de.bixilon.minosoft.protocol.network.network.client.netty.exceptions.PacketHandleException
|
||||
|
@ -53,8 +53,8 @@ import de.bixilon.minosoft.modding.event.events.session.play.PlaySessionCreateEv
|
||||
import de.bixilon.minosoft.modding.event.listener.CallbackEventListener.Companion.listen
|
||||
import de.bixilon.minosoft.modding.event.master.GlobalEventMaster
|
||||
import de.bixilon.minosoft.modding.loader.phase.DefaultModPhases
|
||||
import de.bixilon.minosoft.protocol.connection.NetworkConnection
|
||||
import de.bixilon.minosoft.protocol.connection.ServerConnection
|
||||
import de.bixilon.minosoft.protocol.ServerConnection
|
||||
import de.bixilon.minosoft.protocol.network.NetworkConnection
|
||||
import de.bixilon.minosoft.protocol.network.session.Session
|
||||
import de.bixilon.minosoft.protocol.network.session.play.channel.DefaultChannelHandlers
|
||||
import de.bixilon.minosoft.protocol.network.session.play.channel.SessionChannelHandler
|
||||
@ -249,8 +249,8 @@ class PlaySession(
|
||||
|
||||
private fun establish(latch: AbstractLatch?) {
|
||||
latch?.dec() // remove initial value
|
||||
connection.connect(this)
|
||||
state = PlaySessionStates.ESTABLISHING
|
||||
connection.connect(this)
|
||||
}
|
||||
|
||||
private fun establishRendering(latch: AbstractLatch?) {
|
||||
|
@ -16,7 +16,7 @@ package de.bixilon.minosoft.protocol.network.session.play.channel.login
|
||||
import de.bixilon.kutil.cast.CastUtil.nullCast
|
||||
import de.bixilon.kutil.collections.CollectionUtil.toSynchronizedList
|
||||
import de.bixilon.minosoft.data.registries.identified.ResourceLocation
|
||||
import de.bixilon.minosoft.protocol.connection.NetworkConnection
|
||||
import de.bixilon.minosoft.protocol.network.NetworkConnection
|
||||
import de.bixilon.minosoft.protocol.network.session.play.PlaySession
|
||||
import de.bixilon.minosoft.protocol.network.session.play.channel.ChannelManager
|
||||
import de.bixilon.minosoft.protocol.packets.c2s.login.ChannelC2SP
|
||||
|
@ -16,7 +16,7 @@ package de.bixilon.minosoft.protocol.network.session.play.channel.play
|
||||
import de.bixilon.kutil.cast.CastUtil.nullCast
|
||||
import de.bixilon.kutil.collections.CollectionUtil.toSynchronizedList
|
||||
import de.bixilon.minosoft.data.registries.identified.ResourceLocation
|
||||
import de.bixilon.minosoft.protocol.connection.NetworkConnection
|
||||
import de.bixilon.minosoft.protocol.network.NetworkConnection
|
||||
import de.bixilon.minosoft.protocol.network.session.play.PlaySession
|
||||
import de.bixilon.minosoft.protocol.network.session.play.channel.ChannelManager
|
||||
import de.bixilon.minosoft.protocol.packets.c2s.common.ChannelC2SP
|
||||
|
@ -17,7 +17,7 @@ import de.bixilon.kutil.cast.CastUtil.nullCast
|
||||
import de.bixilon.kutil.observer.DataObserver.Companion.observe
|
||||
import de.bixilon.kutil.observer.set.SetObserver.Companion.observeSet
|
||||
import de.bixilon.minosoft.data.language.LanguageUtil
|
||||
import de.bixilon.minosoft.protocol.connection.NetworkConnection
|
||||
import de.bixilon.minosoft.protocol.network.NetworkConnection
|
||||
import de.bixilon.minosoft.protocol.network.session.play.PlaySession
|
||||
import de.bixilon.minosoft.protocol.packets.c2s.common.SettingsC2SP
|
||||
import de.bixilon.minosoft.protocol.protocol.ProtocolStates
|
||||
|
@ -31,7 +31,7 @@ import de.bixilon.minosoft.modding.event.events.chat.ChatMessageEvent
|
||||
import de.bixilon.minosoft.modding.event.events.chat.ChatMessageSendEvent
|
||||
import de.bixilon.minosoft.modding.event.events.container.ContainerCloseEvent
|
||||
import de.bixilon.minosoft.protocol.ProtocolUtil.encodeNetwork
|
||||
import de.bixilon.minosoft.protocol.connection.NetworkConnection
|
||||
import de.bixilon.minosoft.protocol.network.NetworkConnection
|
||||
import de.bixilon.minosoft.protocol.network.session.play.PlaySession
|
||||
import de.bixilon.minosoft.protocol.packets.c2s.play.chat.ChatMessageC2SP
|
||||
import de.bixilon.minosoft.protocol.packets.c2s.play.chat.CommandC2SP
|
||||
|
@ -18,7 +18,7 @@ import de.bixilon.kutil.observer.DataObserver.Companion.observed
|
||||
import de.bixilon.minosoft.modding.event.events.session.status.StatusSessionCreateEvent
|
||||
import de.bixilon.minosoft.modding.event.master.GlobalEventMaster
|
||||
import de.bixilon.minosoft.protocol.AddressResolver
|
||||
import de.bixilon.minosoft.protocol.connection.NetworkConnection
|
||||
import de.bixilon.minosoft.protocol.network.NetworkConnection
|
||||
import de.bixilon.minosoft.protocol.network.session.Session
|
||||
import de.bixilon.minosoft.protocol.packets.c2s.handshake.HandshakeC2SP
|
||||
import de.bixilon.minosoft.protocol.packets.c2s.status.StatusRequestC2SP
|
||||
|
@ -14,7 +14,7 @@
|
||||
package de.bixilon.minosoft.protocol.packets.registry
|
||||
|
||||
import de.bixilon.kutil.cast.CastUtil.nullCast
|
||||
import de.bixilon.minosoft.protocol.connection.NetworkConnection
|
||||
import de.bixilon.minosoft.protocol.network.NetworkConnection
|
||||
import de.bixilon.minosoft.protocol.network.network.client.netty.exceptions.PacketBufferUnderflowException
|
||||
import de.bixilon.minosoft.protocol.network.network.client.netty.exceptions.implementation.PacketNotImplementedException
|
||||
import de.bixilon.minosoft.protocol.network.session.Session
|
||||
|
@ -13,7 +13,7 @@
|
||||
package de.bixilon.minosoft.protocol.packets.s2c.common
|
||||
|
||||
import de.bixilon.kutil.cast.CastUtil.unsafeCast
|
||||
import de.bixilon.minosoft.protocol.connection.NetworkConnection
|
||||
import de.bixilon.minosoft.protocol.network.NetworkConnection
|
||||
import de.bixilon.minosoft.protocol.network.session.play.PlaySession
|
||||
import de.bixilon.minosoft.protocol.packets.s2c.PlayS2CPacket
|
||||
import de.bixilon.minosoft.protocol.protocol.buffers.play.PlayInByteBuffer
|
||||
|
@ -15,7 +15,7 @@ package de.bixilon.minosoft.protocol.packets.s2c.common
|
||||
import de.bixilon.kutil.cast.CastUtil.unsafeCast
|
||||
import de.bixilon.minosoft.data.text.ChatComponent
|
||||
import de.bixilon.minosoft.modding.event.events.KickEvent
|
||||
import de.bixilon.minosoft.protocol.connection.NetworkConnection
|
||||
import de.bixilon.minosoft.protocol.network.NetworkConnection
|
||||
import de.bixilon.minosoft.protocol.network.session.play.PlaySession
|
||||
import de.bixilon.minosoft.protocol.network.session.play.PlaySessionStates
|
||||
import de.bixilon.minosoft.protocol.packets.s2c.PlayS2CPacket
|
||||
|
@ -13,7 +13,7 @@
|
||||
package de.bixilon.minosoft.protocol.packets.s2c.configuration
|
||||
|
||||
import de.bixilon.kutil.cast.CastUtil.unsafeCast
|
||||
import de.bixilon.minosoft.protocol.connection.NetworkConnection
|
||||
import de.bixilon.minosoft.protocol.network.NetworkConnection
|
||||
import de.bixilon.minosoft.protocol.network.session.play.PlaySession
|
||||
import de.bixilon.minosoft.protocol.packets.c2s.configuration.ReadyC2SP
|
||||
import de.bixilon.minosoft.protocol.packets.s2c.PlayS2CPacket
|
||||
|
@ -15,7 +15,7 @@ package de.bixilon.minosoft.protocol.packets.s2c.login
|
||||
import com.google.common.primitives.Longs
|
||||
import de.bixilon.kutil.base64.Base64Util.toBase64
|
||||
import de.bixilon.kutil.cast.CastUtil.unsafeCast
|
||||
import de.bixilon.minosoft.protocol.connection.NetworkConnection
|
||||
import de.bixilon.minosoft.protocol.network.NetworkConnection
|
||||
import de.bixilon.minosoft.protocol.network.session.play.PlaySession
|
||||
import de.bixilon.minosoft.protocol.packets.c2s.login.EncryptionC2SP
|
||||
import de.bixilon.minosoft.protocol.packets.s2c.PlayS2CPacket
|
||||
|
@ -15,7 +15,7 @@ package de.bixilon.minosoft.protocol.packets.s2c.login
|
||||
import de.bixilon.kutil.cast.CastUtil.unsafeCast
|
||||
import de.bixilon.minosoft.data.entities.entities.player.properties.PlayerProperties
|
||||
import de.bixilon.minosoft.data.text.ChatComponent
|
||||
import de.bixilon.minosoft.protocol.connection.NetworkConnection
|
||||
import de.bixilon.minosoft.protocol.network.NetworkConnection
|
||||
import de.bixilon.minosoft.protocol.network.session.play.PlaySession
|
||||
import de.bixilon.minosoft.protocol.network.session.play.channel.vanila.BrandHandler.sendBrand
|
||||
import de.bixilon.minosoft.protocol.packets.c2s.login.ConfigureC2SP
|
||||
|
@ -13,7 +13,7 @@
|
||||
package de.bixilon.minosoft.protocol.packets.s2c.play
|
||||
|
||||
import de.bixilon.kutil.cast.CastUtil.unsafeCast
|
||||
import de.bixilon.minosoft.protocol.connection.NetworkConnection
|
||||
import de.bixilon.minosoft.protocol.network.NetworkConnection
|
||||
import de.bixilon.minosoft.protocol.network.session.play.PlaySession
|
||||
import de.bixilon.minosoft.protocol.packets.c2s.play.ReconfigureC2SP
|
||||
import de.bixilon.minosoft.protocol.packets.s2c.PlayS2CPacket
|
||||
|
@ -19,13 +19,13 @@ import de.bixilon.kutil.shutdown.ShutdownManager
|
||||
import de.bixilon.minosoft.config.profile.profiles.account.AccountProfileManager
|
||||
import de.bixilon.minosoft.data.accounts.Account
|
||||
import de.bixilon.minosoft.protocol.address.ServerAddress
|
||||
import de.bixilon.minosoft.protocol.connection.NetworkConnection
|
||||
import de.bixilon.minosoft.protocol.local.DebugConnection
|
||||
import de.bixilon.minosoft.protocol.network.NetworkConnection
|
||||
import de.bixilon.minosoft.protocol.network.session.play.PlaySession
|
||||
import de.bixilon.minosoft.protocol.network.session.play.PlaySessionStates.Companion.disconnected
|
||||
import de.bixilon.minosoft.protocol.network.session.status.StatusSession
|
||||
import de.bixilon.minosoft.protocol.versions.Version
|
||||
import de.bixilon.minosoft.protocol.versions.Versions
|
||||
import de.bixilon.minosoft.util.DNSUtil
|
||||
import de.bixilon.minosoft.util.logging.Log
|
||||
import de.bixilon.minosoft.util.logging.LogLevels
|
||||
import de.bixilon.minosoft.util.logging.LogMessageType
|
||||
@ -53,6 +53,25 @@ object AutoConnect {
|
||||
session.connect()
|
||||
}
|
||||
|
||||
private fun debug(version: Version, account: Account) {
|
||||
val session = PlaySession(
|
||||
connection = DebugConnection(),
|
||||
account = account,
|
||||
version = version,
|
||||
)
|
||||
if (RunConfiguration.DISABLE_EROS) {
|
||||
session::state.observe(this) {
|
||||
if (it.disconnected) {
|
||||
Log.log(LogMessageType.AUTO_CONNECT, LogLevels.INFO) { "Disconnected from server, exiting..." }
|
||||
ShutdownManager.shutdown()
|
||||
}
|
||||
}
|
||||
}
|
||||
session::error.observe(this) { ShutdownManager.shutdown(reason = AbstractShutdownReason.CRASH) }
|
||||
Log.log(LogMessageType.AUTO_CONNECT, LogLevels.INFO) { "Connecting to debug, with version $version using account $account..." }
|
||||
session.connect()
|
||||
}
|
||||
|
||||
fun autoConnect(connectString: String) {
|
||||
// ToDo: Show those connections in eros
|
||||
val split = connectString.split(',')
|
||||
@ -63,7 +82,7 @@ object AutoConnect {
|
||||
val account = accountProfile.entries[split.getOrNull(2)] ?: accountProfile.selected ?: throw RuntimeException("Auto connect: Account not found! Have you started normal before or added an account?")
|
||||
|
||||
Log.log(LogMessageType.AUTO_CONNECT, LogLevels.INFO) { "Checking account..." }
|
||||
account.tryCheck(null)
|
||||
// account.tryCheck(null)
|
||||
|
||||
if (version == Versions.AUTOMATIC) {
|
||||
Log.log(LogMessageType.AUTO_CONNECT, LogLevels.INFO) { "Pinging server to get version..." }
|
||||
@ -74,6 +93,8 @@ object AutoConnect {
|
||||
return
|
||||
}
|
||||
|
||||
autoConnect(DNSUtil.resolveServerAddress(address).first(), version, account)
|
||||
debug(version, account)
|
||||
|
||||
// autoConnect(DNSUtil.resolveServerAddress(address).first(), version, account)
|
||||
}
|
||||
}
|
||||
|
@ -22,7 +22,7 @@ import de.bixilon.minosoft.commands.stack.print.PrintTarget
|
||||
import de.bixilon.minosoft.config.profile.profiles.account.AccountProfileManager
|
||||
import de.bixilon.minosoft.data.accounts.Account
|
||||
import de.bixilon.minosoft.protocol.address.ServerAddress
|
||||
import de.bixilon.minosoft.protocol.connection.NetworkConnection
|
||||
import de.bixilon.minosoft.protocol.network.NetworkConnection
|
||||
import de.bixilon.minosoft.protocol.network.session.play.PlaySession
|
||||
import de.bixilon.minosoft.protocol.network.session.status.StatusSession
|
||||
import de.bixilon.minosoft.protocol.versions.Version
|
||||
|
@ -13,7 +13,7 @@
|
||||
|
||||
package de.bixilon.minosoft.util.crash.section
|
||||
|
||||
import de.bixilon.minosoft.protocol.connection.NetworkConnection
|
||||
import de.bixilon.minosoft.protocol.network.NetworkConnection
|
||||
import de.bixilon.minosoft.protocol.network.session.play.PlaySession
|
||||
|
||||
class SessionCrashSection(
|
||||
|
Loading…
x
Reference in New Issue
Block a user