Giter Site home page Giter Site logo

elytrium / limboapi Goto Github PK

View Code? Open in Web Editor NEW
230.0 230.0 58.0 13.6 MB

An API which provides virtual servers features to Velocity

Home Page: https://elytrium.net/

License: GNU Affero General Public License v3.0

Java 100.00%
java velocity-plugin velocitypowered

limboapi's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

limboapi's Issues

[BUG] A wall of text with errors

Describe the bug
A wall of text with errors.
https://mclo.gs/HqlE6hy

To Reproduce
Steps to reproduce the behavior:

  1. Add limbo: api, auth and filter
  2. Change nothing in the config
  3. See error

Expected behavior
No errors

Server Info (please complete the following information):

  • LimboAPI Version [1.0.2, downloaded from https://github.com/Elytrium/LimboAPI/releases]
  • /velocity dump link [https://dump.velocitypowered.com/ugeziqoqup.json]

Additional context
BTW discord link is not working

[BUG] LimboFilter: duplicate_login not being able to join the server.

Describe the bug
hey i run a velocity proxy on a different server then my main server and if i join it and go trough the filter i sometimes get kicked because im already on the network
To Reproduce
Steps to reproduce the behavior:

  1. get a server where u only run he proxy with limbofilter on and try sending the player to another server while he goes trough the filter
    Expected behavior
    i expected to be able to join the server witout any problems

Server Info (please complete the following information):
limbofilter/api v1.0.1-jdk16
https://dump.velocitypowered.com/ojajovixog.json

Additional context
Console history when the bug happened (ip changed)
[12:17:43 INFO]: [initial connection] /01.64.8.220:56074 is pinging the server with version 1.8
[12:17:45 INFO] [limboapi]: Tizooo (/01.20.72.284:61761) has connected to the BotFilterSessionHandler Limbo
[12:17:47 INFO] [limbofilter]: [connected player] Tizooo (/91.20.72.244:61761) has client brand vanilla
[12:17:47 INFO] [limboapi]: Tizooo (/01.20.78.244:61761) has disconnected from the BotFilterSessionHandler Limbo
[12:17:47 INFO] [limboapi]: Tizooo (/01.20.78.244:61761) has disconnected from the BotFilterSessionHandler Limbo
[12:17:47 INFO] [limboapi]: Tizooo (/01.20.78.244:61761) has disconnected from the BotFilterSessionHandler Limbo
[12:17:47 INFO] [limboapi]: Tizooo (/01.20.78.244:61761) has disconnected from the BotFilterSessionHandler Limbo
[12:17:47 INFO] [limboapi]: Tizooo (/01.20.78.244:61761) has disconnected from the BotFilterSessionHandler Limbo
[12:17:47 INFO] [limboapi]: Tizooo (/01.20.78.244:61761) has disconnected from the BotFilterSessionHandler Limbo
[12:17:47 INFO] [limboapi]: Tizooo (/01.20.78.244:61761) has disconnected from the BotFilterSessionHandler Limbo
[12:17:47 INFO] [limboapi]: Tizooo (/01.20.78.244:61761) has disconnected from the BotFilterSessionHandler Limbo
[12:17:47 INFO]: [connected player] Tizooo (/01.20.78.244:61761) has disconnected: multiplayer.disconnect.duplicate_login
[12:17:47 INFO]: [server connection] Tizooo -> Server has connected
[12:17:47 INFO]: [server connection] Tizooo -> Server has disconnected

[BUG] Bedrock Players using floodgate LinkAccount feature got kick for Timeout

Describe the bug
Player using floodgate Linkaccount (to login my server using mobile devices but identified as Java Player) got kicked for Time out After 20~ seconds after join. If they login and get out of all limbo,they can play normally.

To Reproduce
Steps to reproduce the behavior:

  1. Install these plugins: limboapi,limboauth,limbofilter,geyser,floodagte

  2. Join server both Java and Bedrock account

  3. On Bedrock: Run /linkaccount <Java account ID>

  4. Follow the text to complete the link

  5. Quit Java account

  6. Join with Bedrock account

  7. Player got kick after 20~ seconds ,the error message is same as “(limboapi/config.conf)main.messages.time-out”

Expected behavior
Player can login within right time (in limboauth config file)

Screenshots
Not at all

Server Info (please complete the following information):

Additional context

[BUG] Timed out

Describe the bug
Players time out when too long in limbo

To Reproduce
Steps to reproduce the behavior:

  1. Make players join limbo with LoginLimboRegisterEvent
  2. Wait for +- 30 seconds
  3. You get timed out

Expected behavior
Players can stay in limbo as long as needed

Screenshots
If applicable, add screenshots to help explain your problem.

Server Info (please complete the following information):

Additional context
I make players download a resourcepack during this process, once I receive a successful response I send them to the lobby

[meta] elytrium.net and ely.su are inaccessibile

I don't have a good way to contact you [Elytrium developers] directly since access to the website seems to be locked, so I am going to open a issue here.

Apparently the Elytrium website and ely.su short link appear to be inaccessibile due to the website returning an invalid SSL response (ERR_SSL_PROTOCOL_ERROR on Chromium browsers).

Because of this, outside of the website, services like the Discord server are inaccessible (and I believe the support e-mail is too).

Since I haven't seen too much activity on the project in the last 25 days or so and the website inaccessibility I got worried that something happened to the project.

I hope this is not the case, sorry for bothering.

[BUG] Schematic World isn't loading due to ArrayIndexOutOfBounds

Describe the bug
The world isn't loading due to an array index out of bounds error.

To Reproduce
Steps to reproduce the behavior:

  1. Set a schematic in config
  2. Restart server
  3. See error

Expected behavior
For it to load the map.

Screenshots
Stack trace:

java.lang.ArrayIndexOutOfBoundsException: Index 0 out of bounds for length 0
        at net.elytrium.limboapi.api.file.SchematicFile.toWorld(SchematicFile.java:62) ~[?:?]
        at net.elytrium.limboauth.LimboAuth.reload(LimboAuth.java:266) ~[?:?]
        at net.elytrium.limboauth.LimboAuth.onProxyInitialization(LimboAuth.java:149) ~[?:?]
        at net.elytrium.limboauth.Lmbda$6.execute(Unknown Source) ~[?:?]
        at com.velocitypowered.proxy.event.UntargetedEventHandler$VoidHandler.lambda$buildHandler$0(UntargetedEventHandler.java:47) ~[velocity.jar:3.1.2-SNAPSHOT (git-f0ea638f-b122)]
        at com.velocitypowered.proxy.event.VelocityEventManager.fire(VelocityEventManager.java:598) ~[velocity.jar:3.1.2-SNAPSHOT (git-f0ea638f-b122)]
        at com.velocitypowered.proxy.event.VelocityEventManager.lambda$fire$5(VelocityEventManager.java:479) ~[velocity.jar:3.1.2-SNAPSHOT (git-f0ea638f-b122)]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[?:?]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[?:?]
        at java.lang.Thread.run(Thread.java:833) [?:?]

Server Info (please complete the following information):
All Limbo plugins versions:

Additional context
Add any other context about the problem here.
The schematic map can be downloaded here: https://www.dropbox.com/s/ue4jt2som2uzxff/LoginMap.schematic?dl=0

[NOT A BUG] PostLoginEvent and LoginEvent not firing without LimboPlayer#disconnect call

Describe the bug
When I add a callback to LoginLimboRegisterEvent, the LoginEvent and PostLoginEvent stop firing completely for all plugins.

To Reproduce
Steps to reproduce the behavior:

  1. Add a listener for LoginEvent and PostLoginEvent and put a breakpoint/print statement to it
  2. Add a listener for LoginLimboRegisterEvent and add a callback in it
  3. Try to connect
  4. Observe, that our LoginEvent and PostLoginEvent did not fire

Expected behavior
LoginEvent and PostLoginEvent should fire normally.

Screenshots
Not applicable

Server Info (please complete the following information):

Additional context
I suspect that this is because LimboAPI takes control over the login process when you add a callback, but forgets to fire applicable events which would be fired under a normal scenario.

[FEATURES[LimboFilter]] Captcha-Mode

Add functionality that will include captcha verification only when a bot attack is detected, and make it an optional feature.
captcha-mode: always/attack

player can join but limboauth does not make the person need to login(basicly just join to the server without needing to login)

[18:53:30] [Velocity Async Event Executor - #3/ERROR]: Couldn't pass GameProfileRequestEvent to limboapi
java.lang.IllegalArgumentException: Can not set final com.velocitypowered.proxy.connection.MinecraftConnection field com.velocitypowered.proxy.connection.client.InitialInboundConnection.connection to com.velocitypowered.proxy.connection.client.LoginInboundConnection
at jdk.internal.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(UnsafeFieldAccessorImpl.java:167) ~[?:?]
at jdk.internal.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(UnsafeFieldAccessorImpl.java:171) ~[?:?]
at jdk.internal.reflect.UnsafeFieldAccessorImpl.ensureObj(UnsafeFieldAccessorImpl.java:58) ~[?:?]
at jdk.internal.reflect.UnsafeQualifiedObjectFieldAccessorImpl.get(UnsafeQualifiedObjectFieldAccessorImpl.java:38) ~[?:?]
at java.lang.reflect.Field.get(Field.java:419) ~[?:?]
at net.elytrium.limboapi.injection.login.LoginListener.hookLoginSession(LoginListener.java:134) ~[?:?]
at net.elytrium.limboapi.injection.login.Lmbda$516.execute(Unknown Source) ~[?:?]
at com.velocitypowered.proxy.event.UntargetedEventHandler$VoidHandler.lambda$buildHandler$0(UntargetedEventHandler.java:47) ~[server.jar:3.1.0-SNAPSHOT (git-d3b3ef23-b92)]
at com.velocitypowered.proxy.event.VelocityEventManager.fire(VelocityEventManager.java:598) ~[server.jar:3.1.0-SNAPSHOT (git-d3b3ef23-b92)]
at com.velocitypowered.proxy.event.VelocityEventManager.lambda$fire$5(VelocityEventManager.java:479) ~[server.jar:3.1.0-SNAPSHOT (git-d3b3ef23-b92)]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130) ~[?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630) ~[?:?]
at java.lang.Thread.run(Thread.java:831) [?:?]

[BUG] unusual problem in Velocity (1.19.2)

Hello,
I use last version dev for limboapi and limbofilter.
The server is 1.19.2 last version Velocity 3.1.2-SNAPSHOT (git-6496983c-b171)
Viaversion:
ViaVersion/ViaVersion#3084
I have noticed something odd:

  1. Problems with connecting players to the server ("time out")
    First, I have incrased connection time in config to fix it, but it didn't work.
  2. The moment player enters the server and takes damage from mob or another player, it kicks him out to the lobby. Proxy console gets multiple errors from Viaversion.
    At first, I thought that the problem is caused by VIA so I reported the issue here:
    ViaVersion/ViaVersion#3084
    Unfortunately it didn't help, even after removing the VIA. I went through all the files and figured out which plugins cause the problem.
    Everything got back to normal after I removed LimboAPI and LimboFilter.

Server Info (please complete the following information):

Opening sign prompts

Hi, can I use the API to open a sign prompt and then get the result when the player closed it? If not, I suggest adding this feature to the API.

LimboAPI-all Not loading (Respond now plz thx ;)

Unable to load plugin plugins\limboapi-api-1.0.0-all.jar
com.velocitypowered.api.plugin.InvalidPluginException: Did not find a valid velocity-plugin.json.
at com.velocitypowered.proxy.plugin.loader.java.JavaPluginLoader.loadPluginDescription(JavaPluginLoader.java:64) ~[velocity.jar:3.0.0]
at com.velocitypowered.proxy.plugin.VelocityPluginManager.loadPlugins(VelocityPluginManager.java:93) ~[velocity.jar:3.0.0]
at com.velocitypowered.proxy.VelocityServer.loadPlugins(VelocityServer.java:325) ~[velocity.jar:3.0.0]
at com.velocitypowered.proxy.VelocityServer.start(VelocityServer.java:223) ~[velocity.jar:3.0.0]
at com.velocitypowered.proxy.Velocity.main(Velocity.java:64) ~[velocity.jar:3.0.0]
[18:14:41 ERROR]: Can't load plugin limboauth due to missing dependency limboapi

[BUG] Error limbofilter

Describe the bug
Limbofilter does not work.

To Reproduce
Steps to reproduce the behavior:

  1. Install java 17, last velocity
  2. Start server
  3. And an error came out at startup

Expected behavior
What will LimboFilter work for

Screenshots
2021-12-01_14 25 28

Server Info (please complete the following information):

  • LimboAPI Version [e.g. 1.0.2-SHAPSHOT, downloaded from https://github.com/Elytrium/LimboAPI/actions/runs/1520784680]
  • /velocity dump link [e.g. https://dump.velocitypowered.com/rezuzabara.json]

Additional context

  • Server log link [https://pastebin.com/3291gDtN]

[Feature] Standalone version!

Hi, I've tried using this plugin on my server and it's very nice and works fine!

But I would like to detach it from the proxy as I think it can weigh it down with a large amount of player and using it as an authlobby, sorting system and more!

So I would like to ask if it is possible to have the standalone version

error

error when load the plugin

[21:41:08 ERROR]: Couldn't pass ProxyInitializeEvent to limbofilter
java.lang.NullPointerException: Cannot invoke "java.lang.Short.shortValue()" because the return value of "java.util.Map.get(Object)" is null
        at net.elytrium.limboapi.server.world.SimpleItem.getId(SimpleItem.java:54) ~[?:?]
        at net.elytrium.limboapi.server.world.SimpleItem.getId(SimpleItem.java:50) ~[?:?]
        at net.elytrium.limboapi.protocol.packet.SetSlot.encode(SetSlot.java:64) ~[?:?]
        at net.elytrium.limboapi.injection.packet.PreparedPacketImpl.encodePacket(PreparedPacketImpl.java:106) ~[?:?]
        at net.elytrium.limboapi.injection.packet.PreparedPacketImpl.prepare(PreparedPacketImpl.java:78) ~[?:?]
        at net.elytrium.limboapi.injection.packet.PreparedPacketImpl.prepare(PreparedPacketImpl.java:57) ~[?:?]
        at net.elytrium.limboapi.injection.packet.PreparedPacketImpl.prepare(PreparedPacketImpl.java:37) ~[?:?]
        at net.elytrium.limbofilter.cache.CachedPackets.createPackets(CachedPackets.java:78) ~[?:?]
        at net.elytrium.limbofilter.FilterPlugin.reload(FilterPlugin.java:115) ~[?:?]
        at net.elytrium.limbofilter.FilterPlugin.onProxyInitialization(FilterPlugin.java:102) ~[?:?]
        at net.elytrium.limbofilter.Lmbda$7.execute(Unknown Source) ~[?:?]
        at com.velocitypowered.proxy.event.UntargetedEventHandler$VoidHandler.lambda$buildHandler$0(UntargetedEventHandler.java:47) ~[velocity-proxy-3.0.2-SNAPSHOT-all.jar:3.0.2-SNAPSHOT (git-e70eac1d-bunknown)]
        at com.velocitypowered.proxy.event.VelocityEventManager.fire(VelocityEventManager.java:585) ~[velocity-proxy-3.0.2-SNAPSHOT-all.jar:3.0.2-SNAPSHOT (git-e70eac1d-bunknown)]
        at com.velocitypowered.proxy.event.VelocityEventManager.lambda$fire$5(VelocityEventManager.java:466) ~[velocity-proxy-3.0.2-SNAPSHOT-all.jar:3.0.2-SNAPSHOT (git-e70eac1d-bunknown)]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) ~[?:?]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) ~[?:?]
        at java.lang.Thread.run(Unknown Source) [?:?]

[BUG]

[02:21:53 ERROR]: Unable to load plugin plugins/limbofilter-1.0.4-SNAPSHOT.jar
com.velocitypowered.api.plugin.InvalidPluginException: Did not find a valid velocity-plugin.json.
at com.velocitypowered.proxy.plugin.loader.java.JavaPluginLoader.loadCandidate(JavaPluginLoader.java:64) ~[velocity.jar:3.1.2-SNAPSHOT (git-3ae93875-b138)]
at com.velocitypowered.proxy.plugin.VelocityPluginManager.loadPlugins(VelocityPluginManager.java:92) ~[velocity.jar:3.1.2-SNAPSHOT (git-3ae93875-b138)]
at com.velocitypowered.proxy.VelocityServer.loadPlugins(VelocityServer.java:342) ~[velocity.jar:3.1.2-SNAPSHOT (git-3ae93875-b138)]
at com.velocitypowered.proxy.VelocityServer.start(VelocityServer.java:223) ~[velocity.jar:3.1.2-SNAPSHOT (git-3ae93875-b138)]
at com.velocitypowered.proxy.Velocity.main(Velocity.java:64) ~[velocity.jar:3.1.2-SNAPSHOT (git-3ae93875-b138)]

velocity-3.1.1-98 java17.0.1" 2021-10-19 LTS

[CLOSED] Using prohibited commands

I have my own authorization, in which I block the execution of commands, and after your check, the commands are ALLOWED. And this is no longer a bug, but worse. Priorities don't help either.

[ENHANCEMENT] Forward Floodgate Data to Backend Servers

Describe the feature you'd like to have implemented
Forward floodgateAPI data to backend servers

Is your feature request related to an existing problem? Please describe.
In this version,bedrock players can't use ALL function of floodgate,such as Account Linking and so on.
also,other plugins use floodgate API is broken.
The most serious problem is that I >can't use any AntiCheat plugin< because They can't determine which player is bedrock and see them all as java players ,so that bedrock player receives Lots of false positives making my players can't play normally

Additional context
IMG_0984

[BUG] H2 Database errors on startup

Describe the bug
When Velocity 3.1.1 starts, LimboAuth 1.0.2 shows some errors in the console

To Reproduce
Steps to reproduce the behavior:

  1. Make the database type "h2"
  2. Start proxy
  3. A large error appears

Expected behavior
I was expecting the plugin to not have any errors in console

Screenshots
image

Server Info (please complete the following information):

Additional context
I'm using these plugins along SkinsRestorer

Online-mode-need-auth: false

If a player who logged in without a minecraft license registers on the server, and another person with a minecraft license changes the nickname of a person without a license, then a player who does not have a license for this registered account will no longer log in, it's difficult to explain in words, it's better to check it yourself, but I checked and it works, unfortunately, I will be able to check it only in a month, and I don't have any evidence that it works.

image

ver limboauth: 1.0.3-shapshot
jdk: 17
velocity: last update

[meta/enhancement] Publish Limbo plugins on modrinth.com

Describe the feature you'd like to have implemented
Modrinth is a very cool and easy to work Minecraft modding site, way easier to use than Velocity Forums, far better than SpigotMC.
They recently added the ability to publish plugins and resource packs alongside mods, you might want to look into hosting downloads there too.
They have an API that allows automated releases and direct downloads, a maven mirror for the jars and much more.

Is your feature request related to an existing problem? Please describe.
The Velocity plugins community is too fragmented as the Velocity Forums suck for plugin visibility.

Additional context
https://modrinth.com/

[BUG] 1.18.2 failed join

Long login(screenshot 1) to the authorization server after it gives an error(screenshot 2), default settings, latest versions of limboapi, limboauth, limbofilter

limboapi: https://github.com/Elytrium/LimboAPI/actions/runs/1917176194
limboauth: https://github.com/Elytrium/LimboAuth/actions/runs/1806267878
limbofilter: https://github.com/Elytrium/LimboFilter/actions/runs/1732908930

velocity: Velocity 3.1.2-SNAPSHOT (git-2fe50bed-b115)

java: 17.0.2 Eclipse Adoptium

configs: default

screenshot 1:
image
screenshot 2:
image

[BUG]

After passing the bot filter knocks out such an error
image

[BUG] LimboAuth and Postgres not finding columns

Describe the bug
When using a postgres database, columns "IP" and "NICKNAME" do not exist.

To Reproduce
Steps to reproduce the behavior:

  1. Set database to use postgres
  2. Join the server

Server log:
https://paste.md-5.net/wamohawoka.md

Expected behavior
No errors should occur and limboauth should find the columns.
Screenshots

After registering, I'm still able to register an account over and over
image

Server Info (please complete the following information):

Additional context
I've forked this project and implemented my own fix at https://github.com/RiceCX/LimboAPI
If you'd like, I'll create a pull request.

[ENHANCEMENT] GeyserMC Support

Describe the feature you'd like to have implemented
I want to add Geyser to the Limbo API because it is on invalid ping packet territory.

Is your feature request related to an existing problem? Please describe.
A clear and concise description of what the problem is.

Additional context
Screenshot_2022-06-11-11-16-40-415_com mojang minecraftpe

Couldn't pass GameProfileRequestEvent to limboapi

Velocity version: 3.1.0
I am using auth, filter and api
Java version 16 or 17 i have tested on both
Logs that appear on every join:

Couldn't pass GameProfileRequestEvent to limboapi
java.lang.IllegalArgumentException: Can not set final com.velocitypowered.proxy.connection.MinecraftConnection field com.velocitypowered.proxy.connection.client.InitialInboundConnection.connection to com.velocitypowered.proxy.connection.client.LoginInboundConnection
        at jdk.internal.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(UnsafeFieldAccessorImpl.java:167) ~[?:?]
        at jdk.internal.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(UnsafeFieldAccessorImpl.java:171) ~[?:?]
        at jdk.internal.reflect.UnsafeFieldAccessorImpl.ensureObj(UnsafeFieldAccessorImpl.java:58) ~[?:?]
        at jdk.internal.reflect.UnsafeQualifiedObjectFieldAccessorImpl.get(UnsafeQualifiedObjectFieldAccessorImpl.java:38) ~[?:?]
        at java.lang.reflect.Field.get(Field.java:419) ~[?:?]
        at net.elytrium.limboapi.injection.login.LoginListener.hookLoginSession(LoginListener.java:134) ~[?:?]
        at net.elytrium.limboapi.injection.login.Lmbda$21.execute(Unknown Source) ~[?:?]
        at com.velocitypowered.proxy.event.UntargetedEventHandler$VoidHandler.lambda$buildHandler$0(UntargetedEventHandler.java:47) ~[velocity-3.1.0.jar:3.1.0]
        at com.velocitypowered.proxy.event.VelocityEventManager.fire(VelocityEventManager.java:598) ~[velocity-3.1.0.jar:3.1.0]
        at com.velocitypowered.proxy.event.VelocityEventManager.lambda$fire$5(VelocityEventManager.java:479) ~[velocity-3.1.0.jar:3.1.0]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130) ~[?:?]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630) ~[?:?]
        at java.lang.Thread.run(Thread.java:831) [?:?]

[BUG] There is still a bug like in #29, an approximate solution to this problem will be described below

image

Maybe fixed this way:
This can be solved in this way, a separate parameter is created in the database, let's say online-mode, if a player registers via offline-mode, then it is written to the online-mode parameter false, while this means that he can enter with a license, without a license, etc. If a player logs in with a license, then his parameter is written true, that is, online-mode true, and therefore he can only log in with a license.

Sorry my english, so bad

[BUG] Discord link

Дайте ссылку на дискорд, старая сломалась)
Спасибо!

[BUG] Did not find a valid velocity-plugin.json

Describe the bug
LimboAPI doesn't start because of the error

[16:26:16 ERROR]: Unable to load plugin plugins/limboapi-1.0.4-SNAPSHOT.jar
com.velocitypowered.api.plugin.InvalidPluginException: Did not find a valid velocity-plugin.json.
  at com.velocitypowered.proxy.plugin.loader.java.JavaPluginLoader.loadCandidate(JavaPluginLoader.java:64) ~[velocity.jar:3.1.1]
  at com.velocitypowered.proxy.plugin.VelocityPluginManager.loadPlugins(VelocityPluginManager.java:92) ~[velocity.jar:3.1.1]
  at com.velocitypowered.proxy.VelocityServer.loadPlugins(VelocityServer.java:324) ~[velocity.jar:3.1.1]
  at com.velocitypowered.proxy.VelocityServer.start(VelocityServer.java:222) ~[velocity.jar:3.1.1]
  at com.velocitypowered.proxy.Velocity.main(Velocity.java:64) ~[velocity.jar:3.1.1]
[16:26:16 ERROR]: Can't load plugin limboauth due to missing dependency limboapi
[16:26:16 ERROR]: Can't load plugin limbofilter due to missing dependency limboapi

Server Info:

[question]

What format is used for schematics and what program and version of minecraft should be used for schematics?

[FEATURES] Weak password, Session timer, Unregister [LimboAUTH]

Add new command:

  • /startsession - Start a session that does not require a password
  • /destroysession - Delete a session that does not require a password
  • /unregister password - Unregistered account

Reconstructed command 2fa:

It is much more convenient when there are 2 different commands.

  • /2fa
  • /disable2fa

Add new functionality:

Make a check for the password that will be stored in the file password.txt so that players don't set weak passwords.

The system of returning the player to the server on which he was. Let's say the player was on the surv1 server - and the next time he visits, he will be immediately redirected to this server.

Add bossbar - the time before the expiration of authorization / registration, and the time output is seconds, as well as custom text.

Add functionality to messages if the quotes are empty, the message will not be sent to the player. Example: login-success: "" - and this message will not come to the player.

Add a Title system, let's say instead of chat messages, the Main-Title, Sub-Title will be displayed to the player

Plugin yml

Could not load plugin from file plugins\limboauth-1.0.1-jdk11.jar
java.lang.NullPointerException: Plugin must have a plugin.yml or bungee.yml

Skins problem

SkinsRestorer plugin skins not working. There are no bugs in the console. You cannot see your own skin, but you can see others. Help

[ENHANCEMENT] 1.18.2 Support

Describe the feature you'd like to have implemented
Add 1.18.2 Support

Is your feature request related to an existing problem? Please describe.
Yes. Our server want use LimboAPI + LimboAuth + LimboFilter. But it cant be used.

Additional context
No. But I want it get supported ASAP.

Why does PlayerListItemHook exist?

I get uuid == null (or java.lang.AssertionError: 1.7 tab list entry given to modern tab list handler! with assertions enabled) when trying to forward a player from the limbo to another server.
I figured the cause for this issue may lie in PlayerListItemHook class line 58/60.
Why does that code even exist can't make sense of it?
The initialID seems to be null and causing the issue.
I removed that code and now It works... Still would like to know what it does and why it exists.

[FEATURES[LimboAuth]] Messages, Functionality

Add a message when registering. /reg password password, if the passwords do not converge, display the message you entered the wrong repeated password. Also add support for entering just a password, /reg password.
repeat-pass: true/false if the function is false, the password is entered without repeating, if true, the password is entered twice

[BUG] Incompatibility with Raknetify

Describe the bug
When attempting to join a Velocity Proxy via Raknet using RelativityMC/raknetify the client will crash or get stuck on the connection screen.
Apparently LimboAPI forces packet compression or mishandles packets in some way when working with Raknetify.
All the details are on RelativityMC/raknetify#15

To Reproduce
Steps to reproduce the behavior:

  1. Install Raknetify and LimboAPI + LimboAuth on a Velocity Proxy
  2. Host a Paper or Fabric/Quilt server (with Raknetify if possible)
  3. Attempt to join

Expected behavior
The client should join the server without issues.

Screenshots
All the details are on RelativityMC/raknetify#15, screenshots included.

Server Info (please complete the following information):
All Limbo plugins versions:

Additional context
I hope this can be sorted out since I'd like to give my players the option to use Raknetify and I really like the social addon since it allows my server to avoid being griefed to a hacked account.

How to open an issue.

If you want to report a bug:

Your issue should be based on the "Bug Report" template, in another cases the issue will be closed.
img
Upload your logs and error messages on pastebin-alike services without autodeletion.
Make sure that you can reproduce your bug on the latest build from the actions tab.

If you want to suggest an idea:

Your issue should be based on the "Feature Request" template, in another cases the issue will be closed.
img
Make sure that your idea is not implemented in the latest build from the actions tab.
Please, correctly define your idea. If we can't understand what you mean, your issue will be closed.

If you want to ask questions or if you want to get help with our plugins/Velocity:

You can join our Discord server, there you can ask questions in the public chat or open tickets to get personal help.

Suggestion

Thanks for this amazing plugin, its been a long wait for something like this for velocity and it works very well!!!

I have some suggestions idk if this is possible but i saw something like this here: https://github.com/XXMA16/BlitzLogin

Can you please add to allow cracked players with premium nicknames to join (second attempt or maybe a config like: attempts-before-cracked: 3)
Something like: retry-cracked-nickname: true/false

So if this is possible may an account is permanently locked in the first sucessfull state.
Ex: If the first sucessful login is an premium account they will only join with premium atempts
If a cracked player join with premium nickname they will be forever forced to execute /login to join

Its like saving the first sucessfull login on database for each account? Sorry i'm not the coding guy i'am just trying to figure all possible scenarios
And /unregister is for reseting this "first state" or deleting from db

Sorry for my english.

[BUG] was kicked due to keepalive timeout.

Describe the bug
When I link to the server using the domain name, it prompts me"[19:22:50 WARN] [limboapi]: [connected player] Wagic_ (/113.116.171.135:2189) was kicked due to keepalive timeout."
When I enter with 127.0.0.1, I can access the server.
To Reproduce
Use the domain name, go to the server, kick out
[19:22:48 INFO] [limboapi]: Wagic_ (/113.116.171.135:2189) has connected to the LimboFilter Limbo
[19:22:48 INFO] [limbofilter]: [connected player] Wagic_ (/113.116.171.135:2189) has client brand fabric
[19:22:50 WARN] [limboapi]: [connected player] Wagic_ (/113.116.171.135:2189) was kicked due to keepalive timeout.
[19:22:50 INFO] [limboapi]: Wagic_ (/113.116.171.135:2189) has disconnected from the LimboFilter Limbo

Server Info (please complete the following information):

  • All Limbo plugins versions:
    limboapi-plugin-1.0.4-SNAPSHOT
    limboauth-1.0.4-SNAPSHOT
    limbofilter-1.0.4-SNAPSHOT
  • /velocity dump link [e.g. link

Additional context
latest.log

Auth server not working a remembering passwords to cracked players

[18:28:49 ERROR]: [initial connection] /UR MOM:59063: exception encountered in net.elytrium.limboapi.server.LimboSessionHandlerImpl@3a675a7e
java.sql.SQLException: Unable to run insert stmt on object net.elytrium.limboauth.model.RegisteredPlayer@12cfeb3b: INSERT INTO auth (nickname ,lowercaseNickname ,hash ,ip ,totpToken ,regdate ) VALUES (?,?,?,?,?,?)
at com.j256.ormlite.misc.SqlExceptionUtil.create(SqlExceptionUtil.java:25) ~[?:?]
at com.j256.ormlite.stmt.mapped.MappedCreate.insert(MappedCreate.java:140) ~[?:?]
at com.j256.ormlite.stmt.StatementExecutor.create(StatementExecutor.java:465) ~[?:?]
at com.j256.ormlite.dao.BaseDaoImpl.create(BaseDaoImpl.java:332) ~[?:?]
at net.elytrium.limboauth.handler.AuthSessionHandler.register(AuthSessionHandler.java:198) ~[?:?]
at net.elytrium.limboauth.handler.AuthSessionHandler.onChat(AuthSessionHandler.java:74) ~[?:?]
at net.elytrium.limboapi.server.LimboSessionHandlerImpl.handle(LimboSessionHandlerImpl.java:88) ~[?:?]
at com.velocitypowered.proxy.protocol.packet.Chat.handle(Chat.java:116) ~[velocity.jar:3.0.0]
at com.velocitypowered.proxy.connection.MinecraftConnection.channelRead(MinecraftConnection.java:142) ~[velocity.jar:3.0.0]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) ~[velocity.jar:3.0.0]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) ~[velocity.jar:3.0.0]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) ~[velocity.jar:3.0.0]
at com.velocitypowered.proxy.protocol.netty.MinecraftDecoder.tryDecode(MinecraftDecoder.java:89) ~[velocity.jar:3.0.0]
at com.velocitypowered.proxy.protocol.netty.MinecraftDecoder.channelRead(MinecraftDecoder.java:58) ~[velocity.jar:3.0.0]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) ~[velocity.jar:3.0.0]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) ~[velocity.jar:3.0.0]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) ~[velocity.jar:3.0.0]
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103) ~[velocity.jar:3.0.0]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) ~[velocity.jar:3.0.0]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) ~[velocity.jar:3.0.0]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) ~[velocity.jar:3.0.0]
at io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:286) ~[velocity.jar:3.0.0]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) ~[velocity.jar:3.0.0]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) ~[velocity.jar:3.0.0]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) ~[velocity.jar:3.0.0]
at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:324) ~[velocity.jar:3.0.0]
at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:311) ~[velocity.jar:3.0.0]
at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:432) ~[velocity.jar:3.0.0]
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:276) ~[velocity.jar:3.0.0]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) ~[velocity.jar:3.0.0]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) ~[velocity.jar:3.0.0]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) ~[velocity.jar:3.0.0]
at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410) ~[velocity.jar:3.0.0]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) ~[velocity.jar:3.0.0]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) ~[velocity.jar:3.0.0]
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919) ~[velocity.jar:3.0.0]
at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:166) ~[velocity.jar:3.0.0]
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719) ~[velocity.jar:3.0.0]
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655) ~[velocity.jar:3.0.0]
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581) ~[velocity.jar:3.0.0]
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) ~[velocity.jar:3.0.0]
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) ~[velocity.jar:3.0.0]
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[velocity.jar:3.0.0]
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[velocity.jar:3.0.0]
at java.lang.Thread.run(Thread.java:831) [?:?]
Caused by: org.h2.jdbc.JdbcSQLIntegrityConstraintViolationException: Unique index or primary key violation: "PUBLIC.PRIMARY_KEY_1 ON PUBLIC.AUTH(LOWERCASENICKNAME) VALUES 3"; SQL statement:
INSERT INTO auth (nickname ,lowercaseNickname ,hash ,ip ,totpToken ,regdate ) VALUES (?,?,?,?,?,?) [23505-200]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:459) ~[?:?]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:429) ~[?:?]
at org.h2.message.DbException.get(DbException.java:205) ~[?:?]
at org.h2.message.DbException.get(DbException.java:181) ~[?:?]
at org.h2.index.BaseIndex.getDuplicateKeyException(BaseIndex.java:103) ~[?:?]
at org.h2.mvstore.db.MVSecondaryIndex.checkUnique(MVSecondaryIndex.java:221) ~[?:?]
at org.h2.mvstore.db.MVSecondaryIndex.add(MVSecondaryIndex.java:196) ~[?:?]
at org.h2.mvstore.db.MVTable.addRow(MVTable.java:531) ~[?:?]
at org.h2.command.dml.Insert.insertRows(Insert.java:195) ~[?:?]
at org.h2.command.dml.Insert.update(Insert.java:151) ~[?:?]
at org.h2.command.CommandContainer.update(CommandContainer.java:198) ~[?:?]
at org.h2.command.Command.executeUpdate(Command.java:251) ~[?:?]
at org.h2.jdbc.JdbcPreparedStatement.executeUpdateInternal(JdbcPreparedStatement.java:191) ~[?:?]
at org.h2.jdbc.JdbcPreparedStatement.executeUpdate(JdbcPreparedStatement.java:152) ~[?:?]
at com.j256.ormlite.jdbc.JdbcDatabaseConnection.insert(JdbcDatabaseConnection.java:193) ~[?:?]
at com.j256.ormlite.stmt.mapped.MappedCreate.insert(MappedCreate.java:92) ~[?:?]
... 43 more

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.