CloudConsole
CloudConsole
THIS IS FOR CLOUDCONSOLE 2.1 AND ABOVE
What This Is
Have you ever wanted to remotely access console, chat, or your player list of your server? Maybe you want to check in on your server and you can't get on minecraft to do it. Well with CloudConsole, you can now remotely access your server anywhere on a machine with java and internet. With an easy interface to use, and a very easy setup, you can give remote access to anyone you want to, allowing chat, console, and soon player info and plugin management. This plugin features chat config editing through a terminal interface, meaning that the amount of work you need to do is minimal. All you really have to do is make sure your desired port is open, and drop the jar in your folder, and chat in game for first time setup. If you like the plugin, please take the time to leave a comment on the bukkit page so we (ShadowCasted) know your thoughts and opinions. If you have any ideas, they might just be added.
How To
First Time Setup
- Download the plugin into your plugins folder.
- Give yourself the permission cloud.*. This permission is not default to OP. If you don't have a permissions plugin then use the one included in the download (instructions below).
- Start the server. This will add a settings file.
- Enter the command /cc terminal to start the CloudTerminal interface.
- From here it should be simple. Type the number or the word of what you want. Note that things slashed out are not added yet.
- Make your way to the config, and edit it to your liking.
- Reload the server and you're done.
Editing The Config
- Start the CloudTerminal with the command /cc terminal.
- Go to config.
- Go to view if you are unsure of the settings.
- Look below (on the bukkit page) if you are unsure what everything does.
- Go to edit.
- Enter the number or enter the text of what you want to edit.
- Enter the new value.
- Reload the server.
Adding Users
- Start the CloudTerminal with the command /cc terminal.
- Go to users.
- Go to add.
- Follow the instructions.
- Make sure the username isn't already taken (case sensitive).
- Note the password is case sensitive.
- Enter PermList for the cloud perms list.
- Yes you have to type in all of them manually.
- Note if none is entered, then the user will be useless.
- For commands you can enter all if you want all commands, or enter each manually.
- If you enter no commands then note the user won't be able to use console.
- Once finished you will be redirected back to the user section of CloudTerminal.
- You do not have to reload the server.
Removing Users
- Start the CloudTerminal with the command /cc terminal.
- Go to users.
- Go to remove.
- Users are case sensitive.
- Enter list if you are unsure of the spelling or case sence of a user, or just unsure of the user.
- Enter the name with correct spelling and case sense.
- Should ask you if you want to delete and ask if you are sure several times before making you enter [delete].
- Should delete the user.
- Reload if the user has logged in since the last reload/start, or are currently logged in.
Using The Included Permission Utility Plugin
- Move it into your plugins folder.
- Start the server.
- Make sure you're OP.
- To use, the command is /give <username> permission <perm> or /give me permission <perm> for giving permissions to yourself.
- For the main Cloud Permission used for everything, enter /give me permission cloud.*
- Note that the permissions don't last forever (I think), so when you reload the server you shouldn't have the permission anymore.
- Do NOT leave this in your server, as any OP could grant themselves any power, and the reason why OPs don't have cloud.* by default is because it can be abused.
The Client
- Download CloudClient.
- Place it on your computer where you want.
- Start it (its a runnable jar).
- Enter the username, password, IP, and the port that CloudConsole is running on.
- Click save login if you want. saves in the same place minecraft does.
- Click on Connect (or start, depends on the version).
- If everything is correct then the client should connect.
- As of version 2.1, the ToggleButtons hide and show the windows.
- Any questions then post them below.
Needed
Please download CloudClient, which will connect to your server. This GUI will be needed for anyone who wishes to connect to your console remotely (in other words, without it, there's no point in CloudConsole). Currently, CloudClient is the only client available for CloudConsole, but soon, the Android client and the lightweight terminal based client will be made available.
Commands
CloudConsole
Command | Description | Permission |
---|---|---|
/cc terminal | Allows Access To CloudConsole interface | cloud.terminal |
/cc console | Allows Access To CloudConsole interface | cloud.terminal |
Permissions Utility
Command | Description | Permission |
---|---|---|
/give <username> permission <perm> | Give a user a permission | just need to be OP |
/give me permission <perm> | Give yourself a permission | just need to be OP |
Permissions
Permissions | Description | Includes |
---|---|---|
cloud.* | Gives access to all permissions | cloud.terminal cloud.users.* cloud.server* cloud.config.* |
cloud.terminal | Allows access to the CloudConsole in game terminal | |
cloud.users.* | Gives access to all cloud.users permissions | cloud.users.list cloud.users.add cloud.users.remove |
cloud.users.list | Allows viewing a list of all users | |
cloud.users.add | Allows adding a user | |
cloud.users.remove | Allows removing a user | |
cloud.server.* | Gives access to all cloud.server permissions | cloud.server.start cloud.server.stop cloud.server.reload |
cloud.server.start | Allows starting of CloudConsole | |
cloud.server.stop | Allows stopping of CloudConsole | |
cloud.server.reload | Allows reloading CloudConsole | |
cloud.config.* | Gives access to all cloud.config permissions | cloud.config.view cloud.config.edit |
cloud.config.view | Allows viewing of the config | |
cloud.config.edit | Allows editing the config |
Submitting Tickets
After you troubleshoot everything, post a ticket with a list of what happened in chronological order. There are some bugs and they are being worked on but it would be nice knowing all of them. Feel free to PM MrAwellstein if you want or if it is a major bug/glitch. Please do not post stack traces (large and long error logs) in the comments, or if you do use the bbcode spoiler to make it so the page isn't spammed.
Ports
If you cannot connect to the plugin, chances are the port is not configured correctly. To configure your port correctly for the plugin, make sure that the port is opened and unused. If the port is being used by another application, such as Minecraft, use another port. Make sure that the port in question is in fact open and unused before posting connection problems. A port checker tool will be (depending on when this is posted) released with CloudConsole.
Configuration
Please do NOT manually edit the configuration in anyway, except for possibly a user, which then if you do reading the config is simple (the field password would be password and so on).
About ThreadedRelease A beta setting dealing with what happens when there are too many users connected. Setting to true can help with lag, but can be a bit unstable (not to badly though). Threaded release just means that termination of clients who connect when the server is full will be terminated in a new process, making it so that the main process doesn't get delayed.
More Help
Soon To Come
Known Bugs
Freeze up when a logged in client does an action when the server is reloaded.
Have any questions? Ask below!
@mentox2011
It works for 1.7.9 last I checked. It's just not listed as such but I have no problem running it on my text server. The to-do list will be completed in a few weeks once I have free time.
Please update to 1.7.9 and add the to-do list! This plugin have lot of potential! Maybe i could use this to give it to my staff (it would be awesome to create inside ranks, with an account each one) so thay can use it in case of emergency but inside of their ranks limits.
@alphapenguin123
Please don't post the full stack trace here. And it basically says that the client can not connect. The new cloudconsole uses a new config so you will have to redo some settings. Also you will have to create new users.
When I try to run the client it constantly comes up with this
Unable To Connect To The Server! Are You Sure You Entered The Correct Port And IP?
StackTrace: java.net.ConnectException: Connection timed out: connect at java.net.DualStackPlainSocketImpl.connect0(Native Method) at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source) at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source) at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source) at java.net.AbstractPlainSocketImpl.connect(Unknown Source) at java.net.PlainSocketImpl.connect(Unknown Source) at java.net.SocksSocketImpl.connect(Unknown Source) at java.net.Socket.connect(Unknown Source) at java.net.Socket.connect(Unknown Source) at java.net.Socket.<init>(Unknown Source) at java.net.Socket.<init>(Unknown Source) at com.shadowcasted.cloudclient.handler.ServerHandler.<init>(ServerHandler.java:36) at com.shadowcasted.cloudclient.windows.Staging$7.actionPerformed(Staging.java:200) at javax.swing.AbstractButton.fireActionPerformed(Unknown Source) at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source) at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source) at javax.swing.DefaultButtonModel.setPressed(Unknown Source) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source) at java.awt.Component.processMouseEvent(Unknown Source) at javax.swing.JComponent.processMouseEvent(Unknown Source) at java.awt.Component.processEvent(Unknown Source) at java.awt.Container.processEvent(Unknown Source) at java.awt.Component.dispatchEventImpl(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source) at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source) at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Window.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.EventQueue.dispatchEventImpl(Unknown Source) at java.awt.EventQueue.access$400(Unknown Source) at java.awt.EventQueue$3.run(Unknown Source) at java.awt.EventQueue$3.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source) at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source) at java.awt.EventQueue$4.run(Unknown Source) at java.awt.EventQueue$4.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source) at java.awt.EventQueue.dispatchEvent(Unknown Source) at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.run(Unknown Source)
Is it because I'm the one running the server with the original Console?
@Johnnylikepie
Im happy that you are putting it to good use :)
Great Plugin! Now i can work on my server from my grandparents house!
Progress on the File System have been going good. I'm nearly done implementing it into CloudConsole. I'm also improving on the Server to Client connection, as well as the protocol used. Expect the new version to be done in a few weeks.
Right now in the progress of making the PlayerList, with advanced parts to it, as well as a file transfer system.
@xTrainx
Thanks for downloading ^_^
thanks mate
I finished a beta release for 2.1 (yes I skipped 2.0). Anyways I will post it later tonight, for I have violin practice right now. It's pretty simple to use, and allows you to reload the server without having to restart, although its a bit buggy (will be fixed in the next update or the one after that). I think I've completely perfected the client, although I had to remove a feature (for now) because I hadn't the time to add it in, because I completely rewrote this from scratch. There are some major improvements with this version, such as the Operators (server owners) don't need to manually edit the config (except for one part which would be entirely optional).
:( the image is broken
Currently the new version that I am creating has new security, allows for reloading Cloud Console without having to restarting (yes you will be able to just use /reload), and also lets you create users and edit settings from within the server, meaning that you do not have to manually create your own users, or touch any of the settings. Please Stay Tuned For Release Info. Will be done either tonight, or in two days.
Note: Will NOT have an auto updater. You will have to manually update the plugin after this version.
@Paxination
The new version, which will be much safer, will be released in a few days (3 at this point). This security flaw will not at all be in the new plugin. There will be a prebeta of this new version later tonight.
@xTrainx
some one was able to hack into ours yesterday about this time. They used a user name which doesnt exist in our config file. Well almost. The name they used was a partial match to my other owners game name. His password is in no way an easy guess. He uses 2 random words with 3 random numbers and caps. This was a wonderful plugin up until this happened. You seriously need to improve on your authentication system.
there seems to be an exploit on the authentification, someone modiefied the client so it could send 1 character, and since the plugin had the lines "(MUL contains(userandpass + "|")) {" and so on to check for authorization, it could log in just by trying all characters until one let the client in. it also could crack the password by repeating the same proccess while adding characters to what the modified client send.
@GoldenEagle1995
Could you tell me whats wrong? Also maybe its just that the port isn't open? Btw I am updating it with debugging tools, and a way to update the config without having to resort to restarting the server.
Hey dude it doesn't work with my linux server host if it did i bet a lot more people would use it, it is awesome and helps a lot
@Jonasrems
Yeah, I noticed that and am fixing it in 1.5 (next update) Im actuallly rewriting most of it...
At com.Shadowcasted.CloudConsole.Listenerzlol you made a mistake:
You did: @EventHandler public void onChat(AsyncPlayerChatEvent chat) { try { Utilities2.say2Chatz("[Chat] <" + chat.getPlayer().getName().toString() + "> " + chat.getMessage() + "]"); } catch (Exception localException) {} }
You need to remove the + "]" at the end...