Çözüldü Velocity ile otomatik yönlendirmeleri nasıl engelleyebilirim?

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

justt_

Koydum Çalışma Masasını
Katılım
29 Kasım 2024
Mesajlar
54
Elmaslar
10
Puan
970
Konum
Istanbul
Minecraft
Justt_

Discord:

.justt_

Merhaba. Öncelikle velocity.toml dosyasına sunucuları başarıyla tanımladım ve sorunsuz bir şekilde backend sunucularıma giriş yapabiliyorum. Fakat farz edelim ben giris1 backend sunucumdayım ve sunucu bir anda çökerse beni otomatik olarak giris2 sunucusuna yönlendiriyor. Bunda bir sorun yok fakat giris2 sunucusu çökerse otomatik olarak direkt lobi sunucusuna yönlendiriyor. Bu da eğer biri benim adımla giris2 sunucusuna girerse ve eğer giris2 çökerse sunucuya kolayca girebileceği anlamına geliyor. Ben ise bunu engellemek istiyorum fakat maalesef bir yolunu bulamadım. kick-on-shutdown ayarını ekledim velocity.toml dosyasına ancak çalışmadı. Skript ile denedim fakat on server crash gibi komutları algılamıyor ve gerekli uygun addonları bulamadım. Ne yapabilirim, yardımcı olabilir misiniz?
 
Merhaba. Öncelikle velocity.toml dosyasına sunucuları başarıyla tanımladım ve sorunsuz bir şekilde backend sunucularıma giriş yapabiliyorum. Fakat farz edelim ben giris1 backend sunucumdayım ve sunucu bir anda çökerse beni otomatik olarak giris2 sunucusuna yönlendiriyor. Bunda bir sorun yok fakat giris2 sunucusu çökerse otomatik olarak direkt lobi sunucusuna yönlendiriyor. Bu da eğer biri benim adımla giris2 sunucusuna girerse ve eğer giris2 çökerse sunucuya kolayca girebileceği anlamına geliyor. Ben ise bunu engellemek istiyorum fakat maalesef bir yolunu bulamadım. kick-on-shutdown ayarını ekledim velocity.toml dosyasına ancak çalışmadı. Skript ile denedim fakat on server crash gibi komutları algılamıyor ve gerekli uygun addonları bulamadım. Ne yapabilirim, yardımcı olabilir misiniz?
Sunucu çökerse oyuncuları direk lobiye aktaracak şekilde ayarlarsanız sorun olmayacaktır lobide authme varsa eğer bide 25565 portu hariç diğer portları kapatabilirsiniz güvenlik duvarından.
 
Merhaba. Öncelikle velocity.toml dosyasına sunucuları başarıyla tanımladım ve sorunsuz bir şekilde backend sunucularıma giriş yapabiliyorum. Fakat farz edelim ben giris1 backend sunucumdayım ve sunucu bir anda çökerse beni otomatik olarak giris2 sunucusuna yönlendiriyor. Bunda bir sorun yok fakat giris2 sunucusu çökerse otomatik olarak direkt lobi sunucusuna yönlendiriyor. Bu da eğer biri benim adımla giris2 sunucusuna girerse ve eğer giris2 çökerse sunucuya kolayca girebileceği anlamına geliyor. Ben ise bunu engellemek istiyorum fakat maalesef bir yolunu bulamadım. kick-on-shutdown ayarını ekledim velocity.toml dosyasına ancak çalışmadı. Skript ile denedim fakat on server crash gibi komutları algılamıyor ve gerekli uygun addonları bulamadım. Ne yapabilirim, yardımcı olabilir misiniz?
Bunun çözümü yok diye biliyorum ya sunucu çökünce başka sunucuya atmayı kapatacaksınız yada giriş sunucusunu kapatacaksınız lobide giriş yapacaklar veya benim gibi limbo sunucusu kullanabilirsiniz.
 
Aslında yapay zekayla falan baktım ama kendi pluginimi yazmamı önerdi bana fakat Java dilinini maalesef tam olarak bilmiyorum. Sunucuya atmayı ise nasıl kapatacağım bunu araştıracağım çünkü Velocity'i yeni kullanmaya başladım ve tam anlamıyla cahilim. Giriş sunucusunu aslında koruma amaçlı yaptım. Ayrıca izninizle limbo sunucu nasıl bir sistem oluyor pek fikrim yok bahsedebilir misiniz sakıncası yoksa? Teşekkürler.
 
Sunucu çökerse oyuncuları direk lobiye aktaracak şekilde ayarlarsanız sorun olmayacaktır lobide authme varsa eğer bide 25565 portu hariç diğer portları kapatabilirsiniz güvenlik duvarından.
Maalesef lobide authme yok, 2 adet auth sunucusu kurdum ve bunları bir nevi koruma amaçlı kullanmak daha mantıklı geldi bana. O yüzden direkt sunucu yönlendirmesini kapatacağım sanırım. Skript ile oyuncuyu giriş yaptıktan sonra lobiye yönlendirecek bir kod hazırlayacağım. Şuan en mantıklı yöntem bu olarak geldi bana. Teşekkür ederim önerileriniz için.
 
Aslında yapay zekayla falan baktım ama kendi pluginimi yazmamı önerdi bana fakat Java dilinini maalesef tam olarak bilmiyorum. Sunucuya atmayı ise nasıl kapatacağım bunu araştıracağım çünkü Velocity'i yeni kullanmaya başladım ve tam anlamıyla cahilim. Giriş sunucusunu aslında koruma amaçlı yaptım. Ayrıca izninizle limbo sunucu nasıl bir sistem oluyor pek fikrim yok bahsedebilir misiniz sakıncası yoksa? Teşekkürler.
Limbo sunucusu ek bir sunucu açmadan velocity üzerinden sanal bir sunucuda giriş yapıyorsun antibotlarda sanal doğrulama sunucusu olur ya onun gibi ama authmede limbo sunucusu olmaz LimboAuth veya aAuth kullanman gerekiyor, giriş sunucusunun bir önemi yok girişi lobiye yapabilirsin boşuna ram harcama.
 
Velocity üstünde farklı çakma lobiler vb kullanarak perfonmans kaybı yerine limboauth ve yan pluginleri ile yeterli düzeyde koruma sağlayabilirsiniz.
 
velocity.toml dosyanizin try ve forced hosts kismini gosteren bir ekran goruntusu atin ipleri ve portu sansurleyin (sunucu isimleri survival cakmalobi vs. Kalsin)
 
Limbo hakkında öğrenmem gereken çok şey var. Sayenizde yeni şeyler öğrendim ve daha fazlasını araştıracağım. Elimden geleni yapacağım, bahsettiğiniz için tekrardan çok minnettarım gerçekten yardımcı oldunuz çok teşekkür ederim :)
 
Limbo sunucusu ek bir sunucu açmadan velocity üzerinden sanal bir sunucuda giriş yapıyorsun antibotlarda sanal doğrulama sunucusu olur ya onun gibi ama authmede limbo sunucusu olmaz LimboAuth veya aAuth kullanman gerekiyor, giriş sunucusunun bir önemi yok girişi lobiye yapabilirsin boşuna ram harcama.
aslında direkt lobiye yapacaktım girişi dediğiniz gibi fakat RebornCraft, RonemaCraft, MuzCraft vb. bir çok büyük sunucuların önce bir giriş lobisine ardından giriş yaptıktan sonra lobiye yönlendirmesinin bir sebebi olduğunu düşündüm o yüzden böyle bir sistem yapmak istedim fakat maalesef konumuz direkt bu, yapamadım :D. Yani gelişmem gerekiyor daha çok cahilim bu konularda.
 
Limbo sunucusu ek bir sunucu açmadan velocity üzerinden sanal bir sunucuda giriş yapıyorsun antibotlarda sanal doğrulama sunucusu olur ya onun gibi ama authmede limbo sunucusu olmaz LimboAuth veya aAuth kullanman gerekiyor, giriş sunucusunun bir önemi yok girişi lobiye yapabilirsin boşuna ram harcama.
Bu arada kusura bakmayın bayağı bir araştırdım fakat limboauth 1.1.14 ve limboapi 1.1.4 sürümleriyle pluginleri indirdim ve velocity 3.4.0 sürümlü sunucuma attım. Sunucu açıldı fakat pluginlerle ilgili bir hata aldım ve sürüm uyuşmazlığından bahsediyor sanırım. Yaklaşık 1-2 saattir yabancı topluluklar vs. olsun her yerde araştırdım fakat bunu düzeltmek için bir yöntem bulamadım. Eğer bir fikriniz var ise yardımcı olabilir misiniz rica etsem? Teşekkür ederim.

Aldığım hata mesajı:

Kod:
[16:44:51 ERROR]: Couldn't pass ProxyInitializeEvent to limboapi 1.1.4

java.lang.ExceptionInInitializerError: null

        at net.elytrium.limboapi.LimboAPI.onProxyInitialization(LimboAPI.java:210) ~[?:?]

        at net.elytrium.limboapi.Lmbda$10.execute(Unknown Source) ~[?:?]

        at com.velocitypowered.proxy.event.UntargetedEventHandler$VoidHandler.lambda$buildHandler$0(UntargetedEventHandler.java:56) ~[ravenvelocity.jar:3.4.0-SNAPSHOT (git-d9f1016b-b481)]

        at com.velocitypowered.proxy.event.VelocityEventManager.fire(VelocityEventManager.java:677) ~[ravenvelocity.jar:3.4.0-SNAPSHOT (git-d9f1016b-b481)]

        at com.velocitypowered.proxy.event.VelocityEventManager.lambda$fire$5(VelocityEventManager.java:542) ~[ravenvelocity.jar:3.4.0-SNAPSHOT (git-d9f1016b-b481)]

        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[?:?]

        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[?:?]

        at java.base/java.lang.Thread.run(Thread.java:842) [?:?]

Caused by: net.elytrium.commons.utils.reflection.ReflectionException: An unexpected internal error was caught during the reflection operations.

        at net.elytrium.limboapi.thirdparty.fastprepare.PreparedPacketFactory.<clinit>(PreparedPacketFactory.java:97) ~[?:?]

        ... 8 more

Caused by: java.lang.NoSuchMethodException: no such method: com.velocitypowered.proxy.protocol.netty.MinecraftVarintLengthEncoder.encode(ChannelHandlerContext,ByteBuf,ByteBuf)void/invokeVirtual

        at java.base/java.lang.invoke.MemberName.makeAccessException(MemberName.java:976) ~[?:?]

        at java.base/java.lang.invoke.MemberName$Factory.resolveOrFail(MemberName.java:1117) ~[?:?]

        at java.base/java.lang.invoke.MethodHandles$Lookup.resolveOrFail(MethodHandles.java:3649) ~[?:?]

        at java.base/java.lang.invoke.MethodHandles$Lookup.findVirtual(MethodHandles.java:2680) ~[?:?]

        at net.elytrium.limboapi.thirdparty.fastprepare.PreparedPacketFactory.<clinit>(PreparedPacketFactory.java:80) ~[?:?]

        ... 8 more

Caused by: java.lang.NoSuchMethodError: 'void com.velocitypowered.proxy.protocol.netty.MinecraftVarintLengthEncoder.encode(io.netty.channel.ChannelHandlerContext, io.netty.buffer.ByteBuf, io.netty.buffer.ByteBuf)'

        at java.base/java.lang.invoke.MethodHandleNatives.resolve(Native Method) ~[?:?]

        at java.base/java.lang.invoke.MemberName$Factory.resolve(MemberName.java:1085) ~[?:?]

        at java.base/java.lang.invoke.MemberName$Factory.resolveOrFail(MemberName.java:1114) ~[?:?]

        at java.base/java.lang.invoke.MethodHandles$Lookup.resolveOrFail(MethodHandles.java:3649) ~[?:?]

        at java.base/java.lang.invoke.MethodHandles$Lookup.findVirtual(MethodHandles.java:2680) ~[?:?]

        at net.elytrium.limboapi.thirdparty.fastprepare.PreparedPacketFactory.<clinit>(PreparedPacketFactory.java:80) ~[?:?]

        ... 8 more

[16:44:51 ERROR]: Couldn't pass ProxyInitializeEvent to limboauth 1.1.14

java.lang.NoClassDefFoundError: com/velocitypowered/proxy/protocol/packet/UpsertPlayerInfo$Action

        at net.elytrium.limboapi.LimboAPI.createLimbo(LimboAPI.java:367) ~[?:?]

        at net.elytrium.limboauth.LimboAuth.reload(LimboAuth.java:394) ~[?:?]

        at net.elytrium.limboauth.LimboAuth.onProxyInitialization(LimboAuth.java:213) ~[?:?]

        at net.elytrium.limboauth.Lmbda$11.execute(Unknown Source) ~[?:?]

        at com.velocitypowered.proxy.event.UntargetedEventHandler$VoidHandler.lambda$buildHandler$0(UntargetedEventHandler.java:56) ~[ravenvelocity.jar:3.4.0-SNAPSHOT (git-d9f1016b-b481)]

        at com.velocitypowered.proxy.event.VelocityEventManager.fire(VelocityEventManager.java:677) ~[ravenvelocity.jar:3.4.0-SNAPSHOT (git-d9f1016b-b481)]

        at com.velocitypowered.proxy.event.VelocityEventManager.lambda$fire$5(VelocityEventManager.java:542) ~[ravenvelocity.jar:3.4.0-SNAPSHOT (git-d9f1016b-b481)]

        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[?:?]

        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[?:?]

        at java.base/java.lang.Thread.run(Thread.java:842) [?:?]

Caused by: java.lang.ClassNotFoundException: com.velocitypowered.proxy.protocol.packet.UpsertPlayerInfo$Action

        at com.velocitypowered.proxy.plugin.PluginClassLoader.loadClass0(PluginClassLoader.java:87) ~[ravenvelocity.jar:3.4.0-SNAPSHOT (git-d9f1016b-b481)]

        at com.velocitypowered.proxy.plugin.PluginClassLoader.loadClass(PluginClassLoader.java:64) ~[ravenvelocity.jar:3.4.0-SNAPSHOT (git-d9f1016b-b481)]

        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525) ~[?:?]

        ... 10 more

[16:44:51 ERROR]: Couldn't pass ProxyInitializeEvent to limboapi 1.1.4

java.lang.ClassCastException: class com.velocitypowered.proxy.event.VelocityEventManager cannot be cast to class net.elytrium.limboapi.injection.event.EventManagerHook (com.velocitypowered.proxy.event.VelocityEventManager is in unnamed module of loader 'app'; net.elytrium.limboapi.injection.event.EventManagerHook is in unnamed module of loader com.velocitypowered.proxy.plugin.PluginClassLoader @5f14a673)

        at net.elytrium.limboapi.LimboAPI.postProxyInitialization(LimboAPI.java:251) ~[?:?]

        at net.elytrium.limboapi.Lmbda$9.execute(Unknown Source) ~[?:?]

        at com.velocitypowered.proxy.event.UntargetedEventHandler$VoidHandler.lambda$buildHandler$0(UntargetedEventHandler.java:56) ~[ravenvelocity.jar:3.4.0-SNAPSHOT (git-d9f1016b-b481)]

        at com.velocitypowered.proxy.event.VelocityEventManager.fire(VelocityEventManager.java:677) ~[ravenvelocity.jar:3.4.0-SNAPSHOT (git-d9f1016b-b481)]

        at com.velocitypowered.proxy.event.VelocityEventManager.lambda$fire$5(VelocityEventManager.java:542) ~[ravenvelocity.jar:3.4.0-SNAPSHOT (git-d9f1016b-b481)]

        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[?:?]

        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[?:?]

        at java.base/java.lang.Thread.run(Thread.java:842) [?:?]
 
Moderatör tarafından düzenlendi:
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

Hala Discord sunucumuza katılmadın mı?

Büyük bir topluluğun parçası ol, etkinliklere katıl ve özel hediyeler kazanma şansı yakala!

Şimdi Katıl
Üst