You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Things that PufferPanel would need from GSC in order to be functional. All of this would need to be able to be handled through a HTTP API of some sort. I've added possible URL ideas, but they aren't necessarily required by any means.
Web API
Power Controls — GET /server/id/power/[on|off|restart]
This controls the current status of the server.
Console (WebSocket) — ws(s)://server/id/console
A live stream of the current servers console including all errors that are outputted. Basically as if you were looking directly at the terminal window.
Command Sending — POST /server/id/command
Sends a command to the server in raw format. Would be accessible by sending a JSON post request to the URL with the string to be sent into the server.
File Listing — GET /server/id/files/[some/plugins/dir]
This would return a list of all files and folders in a directory. Obviously this would need to be locked down to only read inside the users server directory and not outside of it.
Returns a JSON array of all players currently online on the server.
Additional Features
CPU Limting / Disk Limiting
The ability to set the amount of disk or CPU that a server can use would be fantastic. This might be better done through a module that can be enabled if wanted. These values would be set through the API when creating a server, and should be able to be updated later. The CPU Limiting can be done through cpulimit, and disk limiting through quota.
FTP (or similar)
A built in FTP/SFTP server that can connect to an external service to handle authentication would be needed. If some way to handle authentication internally is possible with an API to handle changing passwords if needed that can be used instead.
API Permissions
PufferPanel relies on allowing users different permissions to control their server. Obviously some users should have permission to create new servers and manage others, while other users need only to control their personal server. Additionally, subsets should be able to have their own permissions so that they can only execute tasks that they are assigned. An example of the permissions can be found here.
SSL Connections
Server should be able to accept connections over a secure socket for both HTTP and Websockets.
Custom JVM Flags
When creating a server it should be possible to define custom JVM flags to add when the server is started. Additionally, some way to default the config values when starting would be great. This would prevent users from being able to change their port or IP address that is assigned.
The text was updated successfully, but these errors were encountered:
Things that PufferPanel would need from GSC in order to be functional. All of this would need to be able to be handled through a HTTP API of some sort. I've added possible URL ideas, but they aren't necessarily required by any means.
Web API
GET /server/id/power/[on|off|restart]
ws(s)://server/id/console
POST /server/id/command
GET /server/id/files/[some/plugins/dir]
GET/PUT /server/id/files/some/plugins/dir/myfile.conf
GET
— Returns the contents of a specified file.PUT
— Saves the "putted" content to the file given.ws(s)://server/id/procstats
ws(s)://server/id/players
Additional Features
cpulimit
, and disk limiting throughquota
.The text was updated successfully, but these errors were encountered: