Syrent / EnhancedVelocity

Customize your Velocity network experience with some commands
GNU General Public License v3.0
17 stars 4 forks source link

A LOT More Suggestions #6

Open User4716 opened 1 year ago

User4716 commented 1 year ago

Is the '/end' command included in Velocity? (Which stops all servers in a network) And if not, is it possible to stop all servers using a plugin? And while I'm here I could give you some more suggestions, remember you don't need to do these, I am just giving ideas! ㅤ ㅤ ㅤ

💡7 Ideas:

🪧- /kickall [server] command Kicks all players in all servers except the players with bypass permission. The [server] argument is optional and with it, you can specify where to kick everyone, if not specified it will kick everyone to the server list.

(For example, if an admin runs "/kickall survival" then every player in the network will be kicked to the survival server.) Also, you can specify the servers in the config to ignore (Like hub) So if an admin runs '/kickall' Then hub players wont be kicked.

(And since EssentialsX has this command already you could make this command to be something else.) And if you want to go overboard, you could make another command to force kick everyone in all servers. /forcekickall This command will ignore all players with bypass permission and ignore the configuration file where you can whitelist servers to be not kicked when an admin runs /kickall. Only the player who ran the command will be not kicked. ㅤ

💬- Make cross server /msg work.

⚠️This command should be included with a Chat Manager plugin! But this command would still "Enhance Velocity" networks

ㅤ ㅤ 🪄- Customizable error messages when trying to connect to a server but the server is offline, in maintenance mode, or the player is not whitelisted. (Good if this is already possible) ㅤ ㅤ

👨‍👩‍👧‍👦- /sendall [server] [server] [world] command (Sends all players from a specified server to a specified server. Optionally you can specify the world to teleport when executing this command. By default it will teleport everyone to the overworld.)

(There is a argument possible so that you can do `/sendall hubWhich sends every single player from all servers to the hub server. If you don't specify the second argument:/sendall pvp` then it will assume that you want to teleport everyone in your current server to the "Pvp" server in this case. If you specify only one server, you can't specify the world to teleport.)

Examples:

⛔- /maintenance command (Enables maintenance in the current server you ran the command in. Which sends all players without a bypass permission to a fallback server specified in the config, and won't let them back in as long as the maintenance mode is enabled. This is different than the /kickall command because with kickall the players can just join back.)

You could also add /forcemaintenance command, which will ignore all bypass permissions, only the player who ran this command will not be kicked. ㅤ ㅤ

📛- /globalmaintenance command (Same as the previous one but there is no fallback server, all players without bypass permission will be kicked off the whole network to the serverlist and they wont be able to join back in as long as the maintenance mode is enabled.)

Also here is the /forceglobalmaintenance command, which will ignore all bypass permissions, only the player who ran this command will not be kicked. ㅤ ㅤ

📣- /toggleglobalchat [player] command (Toggles the chat to be global so that every message that a player sends will be broadcasted to the entire network. If you don't specify a player it will broadcast every message from everyone in the network to the entire network)

⚠️This command should be included with a Chat Manager plugin! But this command would still "Enhance Velocity" networks

ㅤ ㅤ 🔇- /muteglobalchat command (Toggles the mute of the chat on all servers of the network. This can be bypassed with a permission. A normal /mutechat command is probably included with a plugin that a server uses anyways, so it will just conflict if you add a normal /mute chat command.)

⚠️This command should be included with a Chat Manager plugin! But this command would still "Enhance Velocity" networks

ㅤ ㅤ

➕More suggestions from comments below

ㅤ 📆 - /history [player] [time] This command allows you to see what servers (in your network) a player has been on recently.

⚠️This would require a database to work cross server. EssentialsX has a similar command /seen that shows when a player was last online on the server you ran the command in.

🎯 - /ip [player] Shows a player's IP address. I know this is kinda creepy, but when you join a server, the server will know your Ip automatically and show the IP address in the console when you join a server. This command just makes it easier for admins to check if someone is playing on an alt.

ㅤ ㅤ 👪 - /alts [player] This command shows the player names that have joined this server under a same IP adress. This sounds really similar to the /ip command, but this doesn't tell the players actual IP-Adress/Location and this is safer to use. I feel like both of these are needed to "Enhance Velocity"

⚠️And you don't need a database for /ip and /alts to work, unless you want this to search information from other servers in your network. But if you only need the information from this server this command doesn't need a database.

👮 - /onlinestaff Sends you a message in the chat listing all staff players with enhancedvelocity.staff permission, or any other permission that you can configure (Can be multiple permissions). If a staff member is in vanish, then other staff without the enhancedvelocity.actions.seevanished permission won't be able to see vanished players in the staff list. (This feature would be compatible with layered vanish permissions of the VelocityVanish plugin.)

ㅤ ㅤ 📃 - /namehistory [player/uuid] This command allows you to see a player's name history. This might seem useless, but it is a really handy tool for admins to catch sneaky hackers and other sussy people (I've heard this is no longer possible because Mojang did something to the name database API or something. But I decided to mention it anyways.)

ㅤ ㅤ 🔁 - /swap [player] [player] Swaps 2 players' positions (For example, Player 1 is playing on survival and Player 2 is on the hub server, if you then swap them they will swap places, Player 1 will be now in the hub, and Player 2 in the survival, pretty self-explanatory. Their inventories will not swap.) This is a fun troll command that I thought, this is kinda useless and doesn't fit the theme of this plugin, but I decided to mention it anyways so that you won't run out of ideas.

ㅤ ㅤ 📢 - /alertserver [server,server] [alert message] Sends an alert to the specified servers. The normal /alert command would stay the same unless you can implement the server specification argument correctly to it. ㅤ ㅤ

Okay that was all of my ideas there. If you do these I will say that this is the EssentialsX for any network, everyone will use this, this will be the ULTIMATE Must Have plugin for ANY network. But do not feel any pressure to do any of theese, I was just giving ideas out of my head, it would be a dream come true if you would make theese features to reality. But I would love to see even one of theese features in Minecraft. But anyways hope you have time and motivation to make these features. Keep up the amazing work! ❤️ ㅤ ㅤ

v1.4

Syrent commented 1 year ago

Hi, These are great ideas and I try to add most of them in future updates. I think some of them are not suitable for EnhancedVelocity like cross server msg and global chat. Cross server msg and chat should be done by a chat plugin like SayanChat or ChatControl

User4716 commented 1 year ago

Yes, I agree with that. I just am not that familiar with bungeecord/velocity chat manager plugins. I know a few for spigot, like ChatControl and VentureChat but I didn't seem to find SayanChat anywhere.

Anyways I was just giving ideas and thought that "toggleglobalchat" would not fit into the plugin's theme. But I think that the '/muteglobalchat' command would be a handy administration tool, but that's not very important compared to the other commands. A good Chat manager could do it anyways.

And I was very surprised at how fast you answered my suggestion. And I am very thankful that you are willing to try to add most of these features in future updates. 👍

User4716 commented 1 year ago

Also, I have 4 more suggestions 😉

📆 - '/history [player] [time]' This command allows you to see what servers (in your network) a player has been on recently.

👮 - '/onlinestaff' Sends you a message in the chat listing all staff players with 'enhancedvelocity.staff' permission. If a staff member is in vanish, then other staff without the 'enhancedvelocity.actions.seevanished' permission won't be able to see vanished players in the staff list.

⏮️ - '/seen [player/uuid]' This command allows you to see when a specified player was last online.

📃 - '/namehistory [player/uuid]' command allows you to see a player's name history. (I've heard this is no longer possible, but I decided to mention it anyways.)

🔁 - '/swap [player] [player]' Swaps 2 players' positions (For example, Player 1 is playing on survival and Player 2 is on the hub server, if you then swap them they will swap places, Player 1 will be now in the hub, and Player 2 in the survival, pretty self-explanatory. Their inventories will not swap.)

Syrent commented 1 year ago
  1. history command need a database and I want to keep EnhancedVelocity as simple as possible (at least for now)
  2. onlinestaff I may add this command in future updates
  3. seen Same as history
  4. namehistory It's not possible in Velocity
  5. swap It's possible but I think it's a low-priority feature and /send can do the same thing
User4716 commented 1 year ago

/seen command is already in EssentialsX so no need for that /swap I thought was a funny troll command, but I think that doesn't fit into this plugin's theme. But for the other ones I agree with you.

Syrent commented 1 year ago

kickall command is now available in version 1.3.0 (untested)

User4716 commented 1 year ago

Thank you for making the /kickall command, I'll test it once I get my testing network done. And btw I improved the explanation of the /kickall command so you can understand better what I wanted the command to do.

Anyways keep up with this plugin, hopefully you have time to make some of those features above or even all if you have the time.

PS. The /ping command is cool. Does it work cross-server?

Syrent commented 1 year ago

Thank you for making the /kickall command, I'll test it once I get my testing network done. And btw I improved the explanation of the /kickall command so you can understand better what I wanted the command to do.

Anyways keep up with this plugin, hopefully you have time to make some of those features above or even all if you have the time.

PS. The /ping command is cool. Does it work cross-server?

I'll update kickall commands in future updates. And yes, ping command is cross-server

User4716 commented 1 year ago

I edited the comment again to show everything this plugin needs (I included this: https://github.com/Syrent/EnhancedVelocity/issues/6#issuecomment-1465202508) And added 3 more commands :)

mallusrgreatv2 commented 8 months ago

Your world-based suggestions aren't possible, since they're controlled by the backend server and it cannot be managed by the proxy.

xsorencoolx commented 8 months ago

You can add hub/lobby command too like this hub: enabled: true servers:

User4716 commented 7 months ago

This plugin https://www.spigotmc.org/resources/bungee-announcer-custom-bungeecord-announcement-plugin.113932/ inspired me to make this suggestion:

So the /alert command could have a simple option to specify what server(s) you will send the alert to. Meaning that you could run /alert hub This is a test and it would send the alert to only the hub server. It would be better if I could specify multiple servers in the command /alert hub,survival This is a test

And if you don't specify the server, it will send the alert to every server. (If its hard to implement because of conflicts, you could just make a new command /alertserver to alert specified servers and keep the old /alert command the same)

User4716 commented 7 months ago

I found a plugin that makes cross server messaging work https://www.spigotmc.org/resources/globalchatting.102730/