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!
I can't find the ip? Can someone please help, if I type in the server ip it doesn't work and can't find the other "ip" if there is one
@MrAwellstein
Suggestion: Make a basic web GUI so you don't need to download anything! :D
@patrolman5
Yeah I wonder the same thing. @MrAwellstein Please help us.
Progress on my work can be found here. https://github.com/UnknownProgrammers/Cloud_Console
@google32465
I'm sorry for such the long wait. I'm having multiple issues going on in Real Life. I don't have as much time for this project as I'd like (I actually have less than an hour a week at this point) so I might have to build this project from the ground up with some help (I have one or two people looking to help with it). Sorry for the delay.
@MrAwellstein
When will you release your not update as it has been around 2 months since you said you were going to upgrade
When I go to add a user, at the end once i put in the password, it just says "Are You Sure You Want To Create This User?" with no option for yes or no. Please Help!
How do i allow a account to use all commands?
@MrAwellstein I am using an i7 pc with windows 8.1 and 8gb ram
@Anoniem123
What type of computer is he using?
Hello, The console doesn't work. He gives the command to the normal console but nothing happened. Please Help!
The next form of Serialization will be with Json.
@google32465
Currently there is a major bug with the Encryption implemented in the latest WIP I have. It causes small JSON Objects (30b or so in size) to take longer than they really should to encrypt (using AES 128). This bug causes there to be a build up delay when sending messages. I am currently looking at a fix by using a different encryption Library to increase speed. The importance of Encryption in CloudConsole should be taken in so anyone packet sniffing on a network doesn't obtain an Admin/root access to your minecraft server.
The features that will be implemented in the next update: Everything missing?
Reason for Delay: DMCA of Bukkit and a short period of time where I was missing a minecraft_server.jar to test the plugin. DMCA of Bukkit making me want to move to sponge or something else. School taking up a lot of my time.
Plans: Continue working on CloudConsole, and make it implementable for both Spigot, Bukkit, Sponge, and any other types of server, also make it so that the client works with each and every form of server type.
If anyone wants to add me on CurseVoice and talk to me about the plugin (telling me ideas and such or features you want), or personally tell me to get working, my username is CipherCat Btw, if you do add me on curse voice, and request a feature, if you explain how it works I will be likely to add it.
Good Idea @MrAwellstein When do you plan to release the new Cloud Console as it is a great plugin has a great in game config but some features are disabled and i would love it if they were enabled. The same thing with the cloud client
Keep up the good work
For more security purposes, Cloud Console will have RSA plus AES encryption (this is currently complete) with the AES keys 128 bit (16 byte) and the RSA key-sets being 2048 bit (256 byte). It will be turned on by default, but will be able to be disabled in the settings. Besides for that, when Cloud Console is released a MD5 Check-Sum will be posted here, to verify the integrity of the plugin. The way it works is first the server sends the RSA public key. Then the Client has to send Login Details that are encrypted with the public key. When the server verifies the User by decrypting with the private key, an AES key will be generated for that user, then sent (after being encrypted by the Client's public key) to the user , and then finally stored for further communications.
Don't know what AES or RSA keys/key-sets are? RSA: wiki AES: wiki
Alright, so an updated on the plugin for today. I have changed from YAML Configuration to SQLight for username and password store. This should be a bit more secure, and is a bit faster with less code (in essence). I will probably still use YAML Configuration for settings and options.
I'm very happy to say, that this program will be updated in the next few weeks (possibly a month), and will have a lot of new features, and the program will have features that were not completed in the last update. The new update will be CloudConsole 2.4, and will incorporate Java NIO, aka Non-Blocking I/O.
What is so special about Java NIO? Java NIO is more stable than what was previously done, and is more reliable and less laggy. It also means that instead of extreme Multi-Threading which isn't always very safe, it is done on one to two threads. If you have any more questions about the program, or any questions about anything at all, please give me a PM and I will do my best to answer it.
Sorry that I havent posted an update, I have been researching into NIO and Netty, and I want to release the best plugin that I can.
To everyone, I'm sorry. I haven't worked on this project in a while because of a vacation, and as soon as I'm back from said vacation I'll post an update within a few weeks, with an API for anyone to make moduals with.