gc-opencommand-plugin
中文 | English
A plugin that opens the GC command execution interface for third-party clients
Applications using this plug-in
Server installation
- Download the
jar in Release
- Put it in the
plugins folder
Console connection
- When starting for the first time, a
opencommand-plugin directory will be generated under the plugins directory,
open and edit config.json
- Set the value of
consoleToken to your connection key. It is recommended to use a long random string of at least 32
characters.
- Restart the server to take effect
- Select the console identity in the client, and fill in your
consoleToken to run the command as the console identity
Multi server
Master server (Dispatch)
- Open
config.json in the opencommand-plugin directory
- Modify the
socketPort value to an unused port
- Set
sockettoken multi server communication key. It is recommended to use a long random string of at least 32 characters.
- Restart the server to make the configuration effective
Sub server (Game)
- Open
config.json in the opencommand-plugin directory
- Modify the
sockethost and socketport values to the address and port of the primary server
- Set the same value of
sockettoken and the primary server
- Set the
socketDisplayName value to your server name (See below for usage Jump)
- Restart the server to make the configuration effective
Build
git clone https://github.com/jie65535/gc-opencommand-plugin
cd gc-opencommand-plugin
mkdir lib
mv path/to/grasscutter-1.x.x-dev.jar ./lib
gradle build
Player
- Fill in the service address in the client to confirm whether it supports
- Fill in the UID and send the verification code
- Fill in the 4-digit integer verification code received in the game into the client verification
- Enjoy the convenience!
Client request
ping to confirm whether the opencommand plugin is supported
sendCode sends a verification code to the specified player (re-send is not allowed within 1 minute), and save the
returned token
- Send
verify check using token and 4-digit integer verification code
- If the verification is passed, you can use the
token to execute the command action
config.json
API /opencommand/api
Example
Request
Response
Actions
Test connect
Request
| Request |
Request data |
type |
| action |
ping |
String |
Response
| Response |
Response data |
type |
| retcode |
200 |
String |
| message |
Success |
String |
| data |
null |
null |
Get online players
Request
| Request |
Request data |
type |
| action |
online |
String |
Response
| Response |
Response data |
type |
| retcode |
200 |
String |
| message |
Success |
String |
| data |
{"count": 0, playerList": []} |
JsonObject |
Send code
Request
| Request |
Request data |
type |
| action |
sendCode |
String |
| data |
uid |
Int |
Response
| Response |
Response data |
type |
| retcode |
200 |
String |
| message |
Success |
String |
| data |
token |
String |
Verify code
Request
| Request |
Request data |
type |
| action |
verify |
String |
| token |
token |
String |
| data |
code |
Int |
Response
Success
| Response |
Response data |
type |
| retcode |
200 |
String |
| message |
Success |
String |
| data |
null |
null |
Failed
| Response |
Response data |
type |
| retcode |
400 |
String |
| message |
Verification failed |
String |
| data |
null |
null |
Run command
Request
| Request |
Request data |
type |
| action |
command |
String |
| token |
token |
String |
| data |
command |
String |
Response
Success
| Response |
Response data |
type |
| retcode |
200 |
String |
| message |
Success |
String |
| data |
Command return |
String |
Run console command
Get run mode
Request
| Request |
Request data |
Type |
| action |
runmode |
String |
| token |
token |
String |
Response
Success
| Request |
Response data |
Type |
| retcode |
200 |
Int |
| message |
Success |
String |
| data |
1 (Multi server) / 0 (Single server) |
Int |
Get mulit server list
Request
| Request |
Request data |
Type |
| action |
server |
String |
| token |
token |
String |
Response
Success
| Request |
Response data |
Type |
| retcode |
200 |
Int |
| message |
Success |
String |
| data |
{} |
JsonObject |
Run command
Request
If it is a single server, there is no need to fill in server UUID.
| Request |
Request data |
Type |
| action |
command |
String |
| token |
token |
String |
| server |
UUID |
String |
| data |
command |
String |
Response
Success
| Request |
Response data |
Type |
| retcode |
200 |
Int |
| message |
Success |
String |
| data |
Command return |
String |