Code Monkey home page Code Monkey logo

vlobby's Introduction

VLobby WorkFlow Status Discord

Lobby plugin for Velocity

Requirements

Features

  • Multi lobby support
  • MiniMessage formatting
  • Multiple Sending Modes

Commands

In VLobby there are 2 CommandHandlers

REGULAR

It is the default operation of VLobby, you can set as many commands as you want to teleport to a group of Lobby servers (or to a single Lobby if you have only one Lobby).

COMMAND_TO_SERVER

With this CommandHandler you can teleport to any server using its name as command. For example, to teleport to the survival server, you would require the vlobby.command.survival permission and you would use the /survival command

Sponsor

Downloads

Download it from Modrinth

vlobby's People

Contributors

4drian3d avatar mac898 avatar renovate[bot] avatar

Stargazers

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

Watchers

 avatar

vlobby's Issues

Allow for combination of both handlers

Currently, there is two available handlers: the COMMAND_TO_SERVER handler, and the REGULAR handler. The problem is that, when using the REGULAR handler, you loose the ability to load balance servers. It would be nice to have a combination between the two, where you would do something like:

many-to-many-handler {
    command {
        # Commands that can be used
        commands=[
            lobby,
            hub
        ]
        # List of servers
        servers=[
            lobby,
            lobby1,
            hub
        ]
        # Send Mode Formula
        # RANDOM: It will send the player to a random server among the configured ones
        # FIRST_AVAILABLE: It will send the player to the first available server
        # EMPTIEST: Send the player to the server with the least amount of players
        send-mode=RANDOM
    }

    command {
        # Commands that can be used
        commands=[
            bedwars,
            bw
        ]
        # List of servers
        servers=[
            bedwars1,
            bedwars2
        ]
        # Send Mode Formula
        # RANDOM: It will send the player to a random server among the configured ones
        # FIRST_AVAILABLE: It will send the player to the first available server
        # EMPTIEST: Send the player to the server with the least amount of players
        send-mode=EMPTIEST
    }
}

Teleportation delay

Any chance to add a delay in seconds to the commands? Player movement or taking damage would cancel the teleport.

Dependency Dashboard

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


Warning

Renovate failed to look up the following dependencies: Failed to look up maven package org.mineorbit.libby:libby-velocity.

Files affected: gradle/libs.versions.toml


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
  • actions/setup-java v4
  • nick-invision/retry v3
gradle
gradle.properties
settings.gradle.kts
build.gradle.kts
  • org.jetbrains.kotlin.jvm 1.9.22
  • org.jetbrains.kotlin.kapt 1.9.22
gradle/libs.versions.toml
  • com.velocitypowered:velocity-api 3.2.0-SNAPSHOT
  • org.bstats:bstats-velocity 3.0.2
  • org.spongepowered:configurate-hocon 4.1.2
  • org.mineorbit.libby:libby-velocity 2.0.0
  • io.github.miniplaceholders:miniplaceholders-api 2.2.3
  • io.github.miniplaceholders:miniplaceholders-kotlin-ext 2.2.3
  • net.kyori.blossom 2.1.0
  • com.github.johnrengelman.shadow 8.1.1
  • xyz.jpenilla.run-velocity 2.2.3
  • org.jetbrains.gradle.plugin.idea-ext 1.1.7
gradle-wrapper
gradle/wrapper/gradle-wrapper.properties
  • gradle 8.6

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

NoClassDefFoundError on startup

I'm getting this error when starting the plugin:

[20:49:31] [Velocity Async Event Executor - #0/ERROR] [com.velocitypowered.proxy.event.VelocityEventManager]: Couldn't pass ProxyInitializeEvent to vlobby
java.lang.NoClassDefFoundError: io/github/_4drian3d/vlobby/libs/org/spongepowered/configurate/hocon/HoconConfigurationLoader
	at io.github._4drian3d.vlobby.VLobby.onProxyInitialization(VLobby.kt:77) ~[?:?]
	at io.github._4drian3d.vlobby.Lmbda$10.execute(Unknown Source) ~[?:?]
	at com.velocitypowered.proxy.event.UntargetedEventHandler$VoidHandler.lambda$buildHandler$0(UntargetedEventHandler.java:56) ~[velocity.jar:3.2.0-SNAPSHOT (git-40b76c63-b256)]
	at com.velocitypowered.proxy.event.VelocityEventManager.fire(VelocityEventManager.java:598) ~[velocity.jar:3.2.0-SNAPSHOT (git-40b76c63-b256)]
	at com.velocitypowered.proxy.event.VelocityEventManager.lambda$fire$5(VelocityEventManager.java:479) ~[velocity.jar:3.2.0-SNAPSHOT (git-40b76c63-b256)]
	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) [?:?]
Caused by: java.lang.ClassNotFoundException: io.github._4drian3d.vlobby.libs.org.spongepowered.configurate.hocon.HoconConfigurationLoader
	at com.velocitypowered.proxy.plugin.PluginClassLoader.loadClass0(PluginClassLoader.java:87) ~[velocity.jar:3.2.0-SNAPSHOT (git-40b76c63-b256)]
	at com.velocitypowered.proxy.plugin.PluginClassLoader.loadClass(PluginClassLoader.java:64) ~[velocity.jar:3.2.0-SNAPSHOT (git-40b76c63-b256)]
	at java.lang.ClassLoader.loadClass(ClassLoader.java:520) ~[?:?]
	... 8 more

This only affects VLobby version 2.0.1, the earlier version 2.0.0 is working as expected.

Version information

VLobby: 2.0.1
Velocity: 3.2.0-SNAPSHOT (git-40b76c63-b256)

Feature request: More specific error message when you are already connected to Hub

Currently if you do /lobby when you are already connected to there it throws the following message:
image

This might let some users think that there was some problem transporting them to hub and not realizing that they are already connected to the hub. Having second configurable error message along the lines "You are already connected to server x" would solve this.

Checking permissions

Would there be a chance to add a function to check access to the command in the WorldGuard region, and also can the player type in the chat a given command on a given server?

I know there is an LP condition for servers, but could it be more specific?

New mode to allow 1:1 commands?

It would be great if there was a mode that allowed 1:1 command and server name pairs

such as

# Lobby Commands
commands = ["lobby", "hub"]

[servers]
# Lobby Servers
servers = ["server1", "server2"]

Then when a user types /lobby they go to server1, and /hub they go to server2, etc.

Lobby command aliases do not work

Currently only the first lobby command listed in the config's "commands" section works as expected. Commands listed after that throw the following error:
image

My configuration:

# Lobby Commands
commands = ["lobby", "hub"]

[servers]
# Lobby Servers
servers = ["hub"]
# Send Mode
# RANDOM: It will send the player to a random server among the configured ones
# FIRST_AVAILABLE: It will send the player to the first available server
# EMPTIEST: Send the player to the server with the least amount of players
send-mode = "EMPTIEST"

[messages]
succesfully = "<red>You have been successfully sent to the lobby <server>"
error = "<red>You could not be transported to the server <server>"
not-available-server = "<red>No lobby servers available now, try again later"
console-message = "The console could not be teleported to the lobby"

Technical details

Velocity version: 3.2.0-SNAPSHOT (git-697d08ba-b216)
VLobby version: 1.0.1

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.