Git Product home page Git Product logo

pistonqueue's Introduction

Hi ๐Ÿ‘‹, I'm AlexProgrammerDE

Coding as a hobby and creating cool stuff.

alexprogrammerde

  • ๐Ÿ”ญ Iโ€™m currently working on SkinsRestorer

  • ๐ŸŒฑ Iโ€™m currently learning GoLang

  • ๐Ÿ’ง Iโ€™m a SpigotMC dev

  • ๐Ÿ“ซ You can reach me on Discord @pistonmaster

  • โšก Fun fact I love minecraft ๐Ÿ’–

pistonqueue's People

Contributors

alexprogrammerde avatar cube-builder avatar fossabot avatar leeewith3es avatar remainingtoast avatar renovate-bot avatar renovate[bot] avatar

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

Watchers

 avatar  avatar  avatar

pistonqueue's Issues

Allow to join the main server if lobby is down

Hi there, I had an issue where my lobby had an issue and was down and the plugin prevented people from entering the main server even though it was up.

It shows the main server is down message

I was wondering if it's possible to still allow to join the main server even if the lobby is down

Edit: I believe just this line needs to be updated for a queue online config option

if ((Config.KICK_WHEN_DOWN && !mainOnline) || !queueOnline || !authOnline) { // authOnline is always true if auth is not enabled

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

Open

These updates have all been created already. Click a checkbox below to force a retry/rebase of any.

Detected dependencies

github-actions
.github/workflows/gradle.yml
  • actions/checkout v4@1d96c772d19495a3b5c517cd2bc0cb401ea0529f
  • actions/setup-java v4
  • actions/cache v3
  • actions/upload-artifact v4.3.3
gradle
gradle.properties
settings.gradle.kts
  • com.github.johnrengelman.shadow 8.1.1
  • org.cadixdev.licenser 0.6.1
  • net.kyori.indra 3.1.3
  • net.kyori.indra.git 3.1.3
  • net.kyori.indra.publishing 3.1.3
  • net.kyori.blossom 2.1.0
build.gradle.kts
PistonQueuePlaceholder/settings.gradle.kts
PistonQueuePlaceholder/build.gradle.kts
  • org.spigotmc:spigot-api 1.18.1-R0.1-SNAPSHOT
  • me.clip:placeholderapi 2.11.5
  • org.projectlombok:lombok 1.18.32
  • org.projectlombok:lombok 1.18.32
build-data/build.gradle.kts
buildSrc/build.gradle.kts
  • gradle.plugin.com.github.johnrengelman:shadow 8.0.0
  • net.kyori:indra-common 3.1.3
buildSrc/src/main/kotlin/pq.java-conventions.gradle.kts
  • org.jetbrains:annotations 24.1.0
  • org.projectlombok:lombok 1.18.32
  • org.projectlombok:lombok 1.18.32
buildSrc/src/main/kotlin/pq.platform-conventions.gradle.kts
buildSrc/src/main/kotlin/pq.shadow-conventions.gradle.kts
bukkit/build.gradle.kts
  • org.bstats:bstats-bukkit 3.0.2
  • com.comphenix.protocol:ProtocolLib 5.1.0
  • org.spigotmc:spigot-api 1.18.1-R0.1-SNAPSHOT
bungee/build.gradle.kts
  • org.bstats:bstats-bungeecord 3.0.2
  • net.md-5:bungeecord-api 1.20-R0.2
shared/build.gradle.kts
  • org.spongepowered:configurate-yaml 4.1.2
  • net.pistonmaster:pistonmotd-api 5.1.1
  • com.google.guava:guava 33.1.0-jre
universal/build.gradle.kts
velocity/build.gradle.kts
  • org.bstats:bstats-velocity 3.0.2
  • com.velocitypowered:velocity-api 3.1.1
  • com.velocitypowered:velocity-api 3.1.1
gradle-wrapper
gradle/wrapper/gradle-wrapper.properties
  • gradle 8.7

  • Check this box to trigger a request for Renovate to run again on this repository

Support for Vive Craft

It seems like when a client with the mod 'Vive Craft' joins a server with PistonQueue enabled, once it reaches the the queue server it fails to create the object 'PacketPlayOutEntityStatus' under the event PistonQueue.OnPlayerJoin();

I can take a look at this, creating this issue to start the debugging process. Disabling VR mode in Vive Craft allows the player to join the server. Any guidance on looking at this issue would be great.

Reference error :

[02:51:37 INFO]: UUID of player PLAYER_USERNAME is PLAYER_GUID [02:51:37 ERROR]: Could not pass event PlayerJoinEvent to PistonQueueBukkit v3.0.0 java.lang.NullPointerException: Unable to create packet instance for class class net.minecraft.network.protocol.game.PacketPlayOutEntityStatus at java.util.Objects.requireNonNull(Objects.java:235) ~[?:?] at com.comphenix.protocol.injector.StructureCache.lambda$newPacket$2(StructureCache.java:99) ~[ProtocolLib.jar:?] at com.comphenix.protocol.injector.StructureCache.newPacket(StructureCache.java:103) ~[ProtocolLib.jar:?] at com.comphenix.protocol.injector.StructureCache.newPacket(StructureCache.java:113) ~[ProtocolLib.jar:?] at com.comphenix.protocol.events.PacketContainer.<init>(PacketContainer.java:117) ~[ProtocolLib.jar:?] at com.comphenix.protocol.injector.PacketFilterManager.createPacket(PacketFilterManager.java:389) ~[ProtocolLib.jar:?] at com.comphenix.protocol.injector.PacketFilterManager.createPacket(PacketFilterManager.java:384) ~[ProtocolLib.jar:?] at net.pistonmaster.pistonqueue.bukkit.ProtocolLibWrapper.removeDebug(ProtocolLibWrapper.java:38) ~[PistonQueue-3.0.0.jar:?] at net.pistonmaster.pistonqueue.bukkit.ServerListener.onPlayerJoin(ServerListener.java:89) ~[PistonQueue-3.0.0.jar:?] at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor11.execute(Unknown Source) ~[?:?] at org.bukkit.plugin.EventExecutor$2.execute(EventExecutor.java:77) ~[paper-api-1.20.4-R0.1-SNAPSHOT.jar:?] at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:81) ~[paper-api-1.20.4-R0.1-SNAPSHOT.jar:git-Paper-408] at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[paper-api-1.20.4-R0.1-SNAPSHOT.jar:?] at io.papermc.paper.plugin.manager.PaperEventManager.callEvent(PaperEventManager.java:54) ~[paper-1.20.4.jar:git-Paper-408] at io.papermc.paper.plugin.manager.PaperPluginManagerImpl.callEvent(PaperPluginManagerImpl.java:126) ~[paper-1.20.4.jar:git-Paper-408] at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:615) ~[paper-api-1.20.4-R0.1-SNAPSHOT.jar:?] at net.minecraft.server.players.PlayerList.placeNewPlayer(PlayerList.java:344) ~[paper-1.20.4.jar:git-Paper-408] at net.minecraft.server.network.ServerConfigurationPacketListenerImpl.handleConfigurationFinished(ServerConfigurationPacketListenerImpl.java:130) ~[paper-1.20.4.jar:git-Paper-408] at net.minecraft.network.protocol.configuration.ServerboundFinishConfigurationPacket.handle(ServerboundFinishConfigurationPacket.java:18) ~[paper-1.20.4.jar:git-Paper-408] at net.minecraft.network.protocol.configuration.ServerboundFinishConfigurationPacket.a(ServerboundFinishConfigurationPacket.java:9) ~[paper-1.20.4.jar:git-Paper-408] at net.minecraft.network.protocol.PacketUtils.lambda$ensureRunningOnSameThread$0(PacketUtils.java:54) ~[?:?] at net.minecraft.server.TickTask.run(TickTask.java:18) ~[paper-1.20.4.jar:git-Paper-408] at net.minecraft.util.thread.ReentrantBlockableEventLoop.doRunTask(ReentrantBlockableEventLoop.java:24) ~[?:?] at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:1455) ~[paper-1.20.4.jar:git-Paper-408] at net.minecraft.server.MinecraftServer.d(MinecraftServer.java:194) ~[paper-1.20.4.jar:git-Paper-408] at net.minecraft.util.thread.BlockableEventLoop.pollTask(BlockableEventLoop.java:126) ~[?:?] at net.minecraft.server.MinecraftServer.pollTaskInternal(MinecraftServer.java:1432) ~[paper-1.20.4.jar:git-Paper-408] at net.minecraft.server.MinecraftServer.pollTask(MinecraftServer.java:1355) ~[paper-1.20.4.jar:git-Paper-408] at net.minecraft.util.thread.BlockableEventLoop.managedBlock(BlockableEventLoop.java:136) ~[?:?] at net.minecraft.server.MinecraftServer.waitUntilNextTick(MinecraftServer.java:1333) ~[paper-1.20.4.jar:git-Paper-408] at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1222) ~[paper-1.20.4.jar:git-Paper-408] at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:319) ~[paper-1.20.4.jar:git-Paper-408] at java.lang.Thread.run(Thread.java:833) ~[?:?]

Server Is Down

The Queue seems to work and connect to lobby for queue, but it is saying that my bungeecord server "main" is down, not sure why it isn't connecting.

Chunks do not load on the queue server

I want to make a parkour in the end (yes I know that's a bad idea but i get next to no players so i think it's okay), but the game report's I'm outside of the world, but if i run commands relating to blocks (like setblock) they work. is this a bug, or is my game configured wrong?

Redisbungee Implementation

i got 3 different proxies with redisbungee for people who joins from EU, everything syncs except the amount of players in the queue, which can cause to let people go into the main server

[FEATURE] Random Main Slots

Make it so you can add an range for the main slots or any slots and it chooses random between them.

Example Syntax
10000..20000
Pick randoms number between 10000 and 20000

shortName and longName

in the config, there is a variable for "SERVERNAME"

In 2b2t.org, the connection message is "Connecting to 2b2t" not "Connecting to 2b2t.org"
so if you have the variable "SERVERNAME" as 2b2t.org, players will see "Connecting to 2b2t.org" instead of "Connecting to 2b2t" Although this isn't really a big problem, it would just make it alot easier if there was a config like the following:

SHORTNAME: "1b1t"
LONGNAME: "1b1t.org"

etc.

Also, Hi Alex ๐Ÿ‘

test comment

test 1
test 2
test 3

testing comment wornking ?

Option to turn off invalid name kick or replaces spaces with "_"

I request this because at the moment I am using Geyser with floodgate. Floodgate replaces spaces in bedrock players usernames with "", but PistonQueue kicks them before that happens. So, a way to disable invalid name kick or replace spaces with "" would be amazing.

permission can't login

i have a full permission on the server and when i join i got stuck on the queue server
and other players without those permission can join perfectly.

as you see i dind't get redirected to main server

image

Suggestion: Check if there are any empty slots before trying to log in the user

If there is one improvement I could make to the Piston Queue plugin, it would unquestionably involve its approach to logging users into the server. Rather than attempting to log them in every second, a more user-friendly solution would be to periodically check for available slots on the main server, perhaps every ten seconds or so. Upon detecting an open slot, the plugin could then proceed to log the user in. This approach would not only enhance user experience by reducing unnecessary login attempts but also prevent console spamming.

In game:
image

Console log:

[22:49:49 INFO]: UUID of player Plexi09 is 29b16b8a-c2df-44da-8d22-0adfdeb00c56
[22:49:49 INFO]: Disconnecting Plexi09 (/*IP ADDRESS*:54883): Server is full!
[22:49:49 INFO]: Plexi09 (/*IP ADDRESS*:54883) lost connection: Server is full!
[22:49:50 INFO]: UUID of player Plexi09 is 29b16b8a-c2df-44da-8d22-0adfdeb00c56
[22:49:50 INFO]: Disconnecting Plexi09 (/*IP ADDRESS*:54543): Server is full!
[22:49:50 INFO]: Plexi09 (/*IP ADDRESS*:54543) lost connection: Server is full!
[22:49:51 INFO]: UUID of player Plexi09 is 29b16b8a-c2df-44da-8d22-0adfdeb00c56
[22:49:51 INFO]: Disconnecting Plexi09 (/*IP ADDRESS*:33431): Server is full!
[22:49:51 INFO]: Plexi09 (/*IP ADDRESS*:33431) lost connection: Server is full!
[22:49:52 INFO]: UUID of player Plexi09 is 29b16b8a-c2df-44da-8d22-0adfdeb00c56
[22:49:52 INFO]: Disconnecting Plexi09 (/*IP ADDRESS*:54669): Server is full!
[22:49:52 INFO]: Plexi09 (/*IP ADDRESS*:54669) lost connection: Server is full!
[22:49:53 INFO]: UUID of player Plexi09 is 29b16b8a-c2df-44da-8d22-0adfdeb00c56
[22:49:53 INFO]: Disconnecting Plexi09 (/*IP ADDRESS*:48563): Server is full!
[22:49:53 INFO]: Plexi09 (/*IP ADDRESS*:48563) lost connection: Server is full!
[22:49:54 INFO]: UUID of player Plexi09 is 29b16b8a-c2df-44da-8d22-0adfdeb00c56
[22:49:54 INFO]: Disconnecting Plexi09 (/*IP ADDRESS*:34581): Server is full!
[22:49:54 INFO]: Plexi09 (/*IP ADDRESS*:34581) lost connection: Server is full!
[22:49:55 INFO]: UUID of player Plexi09 is 29b16b8a-c2df-44da-8d22-0adfdeb00c56
[22:49:55 INFO]: Disconnecting Plexi09 (/*IP ADDRESS*:50319): Server is full!

no new players join the server

upon sending a large number of players to queue or another server at once, the counter of how many players are in main doesnt update, resulting in t he counter still saying the same amount online, but only 1 person is in the server, the rest in the queue. it appears that the priority and ops queue do continue, regular doesnt and veteran is unknown
pistonqueue2 2023-06-20_17 26 48
pistonqueue1 2023-06-20_17 26 21

[FEATURE] Force Queue

Basically when the main server goes down, currently in my setup (other people probably have similar). But when my main server goes down the rest of the network stays up only the main goes down.

So an option to force players into the queue to wait until the main server is back would be optimal.

Some suggestions

Hi,
I noticed a few things with the Piston Queue plugin, even though it's awesome!

  • Occasionally, the tab list appears similar to vanilla Minecraft.
  • Sometimes, players join the server exceeding the limit when a slot opens.
  • The plugin frequently attempts to connect players instead of waiting for open slots, which can cause some spam. Perhaps implementing a check for open slots before connection attempts could help?

Video here: https://youtu.be/A4jJuKE8YkY

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.