gc-opencommand-plugin
中文 | English
A plugin that opens the GC command execution interface for third-party clients
Since 1.7.0, multiple commands can be separated by | or newline, for example:
Invoking ping the response data will contain the plugin version.
Applications using this plug-in
Server installation
- Download the
jar in Release
- Put it in the
grasscutter/plugins folder
- Restart
grasscutter server
Player
- Fill in the service address in the Tool to check plugin status
- Fill in the UID and send the verification code
- Fill in the 4-digit integer verification code received in the game into the Tool verification
- Enjoy the convenience!
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. (automatically generated when empty is detected)
- 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
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
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
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
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 |