SpigotMC / BungeeCord

BungeeCord, the 6th in a generation of server portal suites. Efficiently proxies and maintains connections and transport between multiple Minecraft servers.
https://www.spigotmc.org/go/bungeecord
Other
1.58k stars 1.11k forks source link

Official Command Designs #832

Open md-5 opened 10 years ago

md-5 commented 10 years ago

To start with, we will be trialling new themes / translations for the commands which we have converted into their own modules. Every command here, should have a consistent output layout, consistent ordering of arguments, and a consistent help text. To start you off, I will be listing what command needs to do, without colours, and from there prefixes etc can be added.

Please alter these templates below, with your suggestions for formatting (use & for colour codes), and help messages.

Generic messages

The server 'pvp1' does not exist The player 'player1' is not online at this time. You do not have permission to connect to server 'server1' You do not have permission to run this command.

Alert

Input: /alert Output: [Alert] message Help: This command broadcasts the specific message to every connected player.

Input: /alertraw Output: json Help: This command broadcasts the raw JSON text you enter to every connected player. Whilst it is slightly validated, use with caution as some Json may crash users.

Find

Input: /find Output: Player 1 is not online Output: Player 2 is connected to server 'pvp1' and has been online for 1h:5m:3s Help: This command returns information about the online state of the specified player.

List

Input: /glist Output: I have no idea, everyone wants this differently. Should show a list of all players by server, the total players on each server, and at the bottom, the total of all players online. If an argument is specified it should just show that server, and the total. Server 1 (3): player1, player2, player3 Total: 3 Help: Show a list of all players online. If a server is specified, it will show only that server and the total.

Send

Input: /send <player|all|current> " Output: Successfully sent xxx players to server Output: You have been sent to server xxx by Help: Sends players matching the given description to the specified server.

Server

Input: /server Output: You are currently connected to server . You may connect to the following servers: pvp1, pvp2 Output: Attempting to connect to server Help: Shows which server you are on, and which servers you may connect to. When given an argument, connects you to that server.

CTMiner commented 10 years ago

Don't forget "You do not have permission to run this command." under generic.

kfaley9148 commented 10 years ago

Hey md_5, I have a 3mb of RAM computer and im trying to get bungee for my server what is the run.bat code for a 3MB OF RAM computer? Thanks.

CTMiner commented 10 years ago

For /glist: why should it have server-specific arg? Isn't the 'g' for 'global'? What about making a /slist also?

FormallyMyles commented 10 years ago

Can we have the ability to send a server to an IP of a server? /send Player1 192.168.0.1:25566 etc?

md-5 commented 10 years ago

@scienceguru1 the g is mostly to stop it interfering with essentials /list. I think adding a server specific arg would be nice.

@kfaley9148 I seriously doubt you have a 3mb ram computer. Please stop spamming me

kosgan10 commented 10 years ago

@MylesIsCool this is possible and now, just restrict a server, change them to offline mode(to accept players), and /send PlayerName1 {name}. Now for not exist in config server, heuh, fail idea

kfaley9148 commented 10 years ago

Sorry md_5 i have a 3gb computer my mistake :P what would be the code?

CTMiner commented 10 years ago

@kfaley9148 use

java -Xmx3072M -jar spigot.jar

Next time, please post this on the forums though at http://www.spigotmc.org/forums/help.40/ or similar.

kfaley9148 commented 10 years ago

it did not work.

TheMolkaPL commented 10 years ago

Use Google Search and stop create off-topic.

LukeHandle commented 10 years ago

The standard "&4" for any not permitted messages/unable to complete the command?

From having a glance through https://github.com/essentials/Essentials/blob/2.x/Essentials/src/messages_en.properties When referring to a player, Essentials use \u00a7c (&c), whether you want to go by their standard or create your own.

In fact, most of their commands are orange (&6) and then have variables in light red (&c). Even if you choose to use different colours, I assume that is the sort of thing you are going for?

X colour for the neutral messages (so not the "not permitted" ones) with an accent colour to highlight the dynamic information in the message (eg. the playername/servername or ip)?

Cretezy commented 10 years ago

Light red (&c) for error messages, and Light green (&a) for success messages.

The rest should be white IMO.

Placeholders could be {player}, {server}, etc.

You should add 'custom' languages (in Bungee's config.yml, add a language option and check the /lang directory for custom languages if the language doesn't exist in the code.

TheReverend403 commented 10 years ago

I think a Spigot colour scheme is a little more appropriate. Something like the old forum theme had. The primary colour should be &e, while replacements or important parts of messages ( stuff like {player}) should be &7. A reversed version of that would probably look OK too.

dawsondiaz commented 10 years ago

A spigot color scheme may be a nice touch, however, the red (&c) and green (&a) would fit the error messages better. I think all is not lost for the spigot color scheme; perhaps help options/menus could print in those colors.

TheReverend403 commented 10 years ago

Agreed

IonLogic commented 10 years ago

I think a Spigot colour scheme would be good for help messages, info messages stuff like that. When an error does occur, the error part of the message should be in the light red, and then if applicable, info about how to correctly use the command should follow in the spigot colour scheme. Generic success messages should be in the green, as they are unlikely to require any extra information. And if you really need to catch the users attention, then you use the red again.

joshwenke commented 10 years ago

As long as all of the messages are configurable in a .properties file somewhere (some of them are now, obviously, not but not all), I'd be happy.

IonLogic commented 10 years ago

Configurable messages is a good idea. I've recently worked on a plugin that does that. It's something I find really annoying about some plugins(the lack of configuration) :P

joshwenke commented 10 years ago

@md-5 should we just comment each of the listed messages below with our proposed formatting or do you have a file we could fork and change?

md-5 commented 10 years ago

Comment please

Retzit commented 10 years ago

I should do this for errors:

&cThe server &7'pvp1' &cdoes not exist.

And succesful commands just with &a.

MyPictures commented 10 years ago

MyCommandStyle for Bungee commands

About generic messages

About Commands

Alert

Input: /alert TextHere Input raw: /alert -r raw Jason text here Output: &8[&cAlert&8] &fThis is an example alert which supports &bformating codes Output raw: &fThis is a raw alert example Help: This command broadcasts the specific message to every connected player. Alert

Find

Input: /find PlayerName Negative output: &8[&cBungee&8] &fPlayer &7Scetch &fis offline Positive output: &8[&cBungee&8] &fPlayer &amd_5 &fhas been online on server &apvp1 &ffor 1h:5m:3s Help: This command returns information about the online state of the specified player. Find

gList

Input: /glist OptimalPlayerNameToFocusOn Output: &8[&cGlobalList&8][&cTotal &a6&8] &b[dubstep] &e(3)&f: &bMyPictures&f, Scetch, Suddenly &a[lobby] &e(2)&f: ButterFS, Pinkius &a[fun] &e(1)&f: MagicWhomazier &a[dirt] &e(0)&f:

Note: We should either sort the servers by biggest player amounts or alphabetic names. I kinda prefer to first list the server that I'm currently online and then the others (If OptimalPlayerNameToFocusOn then focus on that player instead and color his name blue and mine green) Help: Show a list of all players online. If a server is specified, it will show only that server and the total. Glist

Send

Input: /send player player player player etc., /send player or /send all Output custom multi positive (100%): &8[&cBungee&8] &fSuccessfully sent &a4/4 &fplayers to &apvp1 Output Single positive: &8[&cBungee&8] &fSuccessfully sent &aMyPictures &fto &apvp1 Output all positive: &8[&cBungee&8] &fSuccessfully sent &a30/50 &fplayers to &apvp1 Output some negative custom multi: &8[&cBungee&8] &fSuccessfully sent &a3/6 &fplayers to &apvp1 &fbut &7Cellery, Scetch and MyPictures &fare offline Output all negative custom multi: &8[&cBungee&8] &fNone of those players are online Output negative single: &8[&cBungee&8] &fPlayer &7MyPictures &fis offline Output all negative: &8[&cBungee&8] &fNo players are online Receive message: &8[&cBungee&8] &fYou have been successfully moved to &apvp1 &fby &aMyPictures Help: Sends players matching the given description to the specified server. Send

Server

Input: /server Output: Currently connected to server &a[lobby] You may connect to the following servers: &a[dubstep] [fun] &b[lobby] &a[dirt]

Help: Shows which server you are on and which ones you may connect to. It will connect you to a server if an argument is given (without and with [] should work). Server

IP

Input: /ip playername Output positive: &8[&cBungee&8] &fIP of &aMyPictures &fis &a/127.0.0.1:55789 Output negative: &8[&cBungee&8] &fPlayer &7MyPictures &fis offline Help: Outputs a players IP. IP

Perms

Input: /Perms Output: Assigned groups: &a(default) (admin) (tester) &a- bungee.something.permissions &a- bungee.another.example

Help: Outputs the bungee servers version. Perms

kosgan10 commented 10 years ago

@MyPictures ' Command style is very nice for start

dawsondiaz commented 10 years ago

@MyPictures Very, very nice

ghost commented 10 years ago

@MyPictures That's very nice, but I think /send shouldn't tell the names of the players who didn't get sent because that will cause a very long message on a full server. Maybe it's better to tell how much players couldn't get teleported.

Nogtail commented 10 years ago

I have made a quick plugin to test out how designs look in-game, it enables users to set variables which can be easily changed to view different designs. There is a single command "/print" which loads the data from file (so no reloading), you can get it here: https://www.dropbox.com/s/n4fvc2laezpkjh8/BCD.jar

IonLogic commented 10 years ago

@Nogtail Great idea. I like the prefix colour, and it certainly goes with a spigot theme.

I was playing around a bit, and added a variable for success messages and set it to &2(dark green). I also changed the variable colours to &d(light purple), and it didn't turn out that bad.

MyPictures commented 10 years ago

@MinePlayer64 It will only show the players when you use the /send name name name name name command but yea it might be a little bit much then.

IonLogic commented 10 years ago

Just created a Gist because I felt like trying it out. I've made some modifications to the config.yml of the plugin @Nogtail made. I've added in two new colour variables, one for information and one for success.

It uses aqua for informational messages, the light red for alert and default messages, the dark green for success and purple for variables. https://gist.github.com/ZeWildGuy/8630971

Nogtail commented 10 years ago

Had a little go at making some designs, I am aiming for a minimalistic look so only using 2 or 3 colours.

Here is the source https://gist.github.com/Nogtail/8631279 which can be used with my plugin https://www.dropbox.com/s/n4fvc2laezpkjh8/BCD.jar

image

image

IonLogic commented 10 years ago

@nogtail all that use of the orange(gold?) and red is making look a lot like default Spigot/Bukkit, which may not be an entirely bad thing, but in my opinion, it doesn't look too good. The combinations of the lighter and darker colours looks nice, I'm going to try and see what I can come up with...

md-5 commented 10 years ago

@Nogtail your first one looks pretty much the same as Essentials which could get confusing. I really like what you did with the schemes down below then, we could make it a 3 colour set and let the server owner configure it.

@ZeWildGuy yeah would love to see what you come up with.

IonLogic commented 10 years ago

@md_5 I've been busy a bit recently. I am working on something at the moment now, and might have it ready in a few hours

GingerGeek commented 10 years ago

Just as an idea how status should report back, how about success words i.e Sucesss etc should be in green, info words like Status etc should be in blue/yellow and failure message be in red.