gc-mojoconsole-plus/README.md
2022-05-03 02:33:39 -07:00

3.1 KiB

MojoConsolePlus

MojoConsolePlus(MCP) is a Grasscutter plugin (Apart from Ben4j's GCGM plugin) and it's goal is to implement fully in-game webwiew based .

Currently Features:

  • Send console link in game
  • Do what players can do in the in-game chat based console
    • Inherit the original permission system
    • Capture command response to plugin instead of send chat to player
  • More configurable

Important Notes:

This plugin is made to run on the current Development branch of Grasscutter.
This plugin is in very early development and only have the backend now. Frontend is extermely hardcore. If you require support please ask on the Grasscutter Discord. However, support is not guarenteed.

MojoConsolePlus is decoupled with any frontend yet, feel free to open a PR to introduce your implented frontend.

Development frontend for MojoConsolePlus don't have to restart the Grasscutter server. Just refresh page! There will be a URL printed to the console as log to help you access the console in your browser for development.

Setup

Download Plugin Jar

See realeases.

Compile yourself

  1. Pull the latest code from github using git clone https://github.com/mingjun97/gc-mojoconsole-plus in your terminal of choice.

  2. Locate your grasscutter server and copy the grasscutter server jar into the newly created gcgm-plugin/gc-plugin/lib folder

  3. Navigate back into the project root folder called gc-mojoconsole-plus folder and run gradlew build (cmd) or ./gradlew build (Powershell, Linux & Mac).

  4. Assuming the build succeeded, in your file explorer navigate to the gc-plugin folder, you should have a mojoconsole.jar file, copy it.

  5. Navigate to your Grasscutter server, find the plugins folder and paste the mojoconsole.jar into it.

  6. Start your server.

  7. Put the all the frontend files into the folder GRASSCUTTER_RESOURCE/gcstatic/mojo/console.html.

  8. Send command /mojoconsole or /mojo to server in game, and you will receive mail in your mailbox. Then follow the instructions there.

Your final plugins folder's directory structure should look similar to this

plugins
│   mojoconsole.jar
│   ...
resources
└───gcstatic
    │   ...
    └───mojo
        │   console.html
        |   ...
        └───any other file that you want to include in your frontend
            │   ...

API

URL: /mojoplus/api

Request: Content-Type: application/json

    {
        "k": "SESSION_KEY", // sesssion key is embedded in the mail, can be retreved via the GET params.
        "request": "invoke", // set request to ping will ignore the payload, which just check the aliveness of current sessionKey 
        "payload": "command just like what you do in your in game chat console" // example: "heal" for heal all avatars
    }

Resources: You can use the following function to send the request, just plug it after you finished the command generation job.