mirror of
https://github.com/Grasscutters/Grasscutter-Docs.git
synced 2024-10-07 01:44:44 +00:00
Begin writing new documentation
This commit is contained in:
parent
0e9d16c15c
commit
a2635d177c
@ -20,7 +20,7 @@ Any useful additions are welcome.
|
||||
|
||||
Create a new Markdown file in the `docs` folder.
|
||||
|
||||
You may also use existing subfolders or create new ones to organize your pages.
|
||||
You may also use existing sub-folders or create new ones to organize your pages.
|
||||
|
||||
### How to Edit the `navigation.json` File
|
||||
|
||||
|
56
docs/Contributing.md
Normal file
56
docs/Contributing.md
Normal file
@ -0,0 +1,56 @@
|
||||
# Contributing to Grasscutter
|
||||
|
||||
See [this](https://github.com/Grasscutters/Grasscutter/blob/development/CONTRIBUTING.md) for the contributor code of conduct.\
|
||||
You must agree to these terms before contributing to this project.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
Anything in **bold** is required to have.\
|
||||
Everything else is a recommendation.
|
||||
|
||||
- **[Java (JDK) 17](https://www.oracle.com/java/technologies/javase/jdk17-archive-downloads.html)** - Required for compiling Grasscutter.
|
||||
- Greater versions of Java might work, but are unsupported.
|
||||
- **[MongoDB Server](https://www.mongodb.com/try/download/community)** - Required for storing Grasscutter's data.
|
||||
- [MongoDB Compass](https://www.mongodb.com/try/download/compass) is recommended for managing the database.
|
||||
- You can use a MongoDB cloud database.
|
||||
- **[Gradle 7.0+](https://gradle.org/releases/)** - Required for compiling Grasscutter.
|
||||
- You can also use the Gradle wrapper found when cloning the project.
|
||||
- A text editor/IDE for viewing/editing source code
|
||||
- [IntelliJ IDEA](https://www.jetbrains.com/idea/) is recommended.
|
||||
- [Visual Studio Code](https://code.visualstudio.com/) is recommended alongside IntelliJ IDEA.
|
||||
- Either or is recommended.
|
||||
- _A semi-decent knowledge of general software development._
|
||||
|
||||
## Understanding Branches
|
||||
|
||||
Grasscutter currently has 2 primary branches:
|
||||
- `development` - This is the more _stable_ branch of Grasscutter.
|
||||
- This receives mainly version updates and major bug fixes.
|
||||
- `unstable` - This is the wild west of Grasscutter.
|
||||
- This receives all updates, including experimental features and bug fixes.
|
||||
- This branch is not recommended for production use.
|
||||
|
||||
When you make a contribution, if you have a **minor fix**, please make a pull request to `development`.\
|
||||
If you have a major fix, such as a **rewrite of a system** or a new **feature**, please make a pull request to `unstable`.
|
||||
|
||||
## Building
|
||||
|
||||
### With IntelliJ IDEA
|
||||
|
||||
It is recommended to change your settings to the following:
|
||||
- **Build and run using:** `IntelliJ IDEA`
|
||||
- **Run tests using:** `IntelliJ IDEA`
|
||||
|
||||
Afterwards, you can use IntelliJ's artifact build system to create a JAR file.
|
||||
|
||||
If you are actively working on a feature, consider creating a new profile for an `Application`.\
|
||||
If ran in `Debug` with [`HotswapAgent`](http://hotswapagent.org/mydoc_quickstart-jdk17.html), you can make changes to the code *mostly* without restarting the server.
|
||||
|
||||
### With Gradle
|
||||
|
||||
You can use the Gradle wrapper to build Grasscutter.\
|
||||
To do this, run the following command in the root directory of the project:
|
||||
|
||||
```shell
|
||||
gradlew jar
|
||||
```
|
58
docs/Guide/Running.md
Normal file
58
docs/Guide/Running.md
Normal file
@ -0,0 +1,58 @@
|
||||
# Running Grasscutter
|
||||
|
||||
This is the start to finish guide on running Grasscutter from scratch.\
|
||||
**This is only required if you are locally hosting (localhost'ing) your own server.**
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- Grasscutter's [latest release](#releases-of-grasscutter) in the form of a JAR file.
|
||||
- It is recommended to use the **latest release**.
|
||||
- [Java (JDK) 17](https://www.oracle.com/java/technologies/javase/jdk17-archive-downloads.html) - Required for compiling Grasscutter.
|
||||
- Greater versions of Java might work, but are unsupported.
|
||||
- [MongoDB Server](https://www.mongodb.com/try/download/community) - Required for storing Grasscutter's data.
|
||||
- A copy of [Grasscutter's resources](https://gitlab.com/YuukiPS/GC-Resources) - Required for the server to function.
|
||||
- The link above will take you to the latest version of these resources.
|
||||
- [Click here](https://autopatchgc.yuanshen.zip/dev_pc/serverdata/3.7/latest) for a direct download of the resources for REL3.7
|
||||
|
||||
## Running the Server
|
||||
|
||||
The server can be run in 2 ways:
|
||||
- [Standalone, using the command line](#standalone)
|
||||
- [Together with Cultivation](#with-cultivation)
|
||||
|
||||
### Standalone
|
||||
|
||||
1. Copy/Place your Grasscutter JAR into a folder.
|
||||
1. This 'folder' will be referred to as your working directory.
|
||||
2. Copy/Place your Grasscutter resources into your working directory.
|
||||
1. This should be a '.zip' file.
|
||||
2. You can extract the contents into a folder called 'resources', but this is not recommended.
|
||||
3. Open a command prompt in your working directory.
|
||||
1. On Windows, you can do this by holding shift and right-clicking in the folder, then selecting 'Open PowerShell window here'.
|
||||
4. Run the command `java -jar <name of your jar>.jar`.
|
||||
1. By default, this should be `java -jar grasscutter.jar`.
|
||||
2. If the server asks to place a copy of _something_, [see](/Troubleshooting#fixing-the-config)
|
||||
5. Leave this command prompt open.
|
||||
1. Closing it will close the server.
|
||||
|
||||
### With Cultivation
|
||||
|
||||
TODO: Write.
|
||||
|
||||
# Releases of Grasscutter
|
||||
|
||||
Grasscutter comes in a variety of 'flavors' (releases).
|
||||
- The latest release is the most stable version of Grasscutter.
|
||||
- Download it [here](https://github.com/Grasscutters/Grasscutter/releases/).
|
||||
- This is the recommended version for production use.
|
||||
- It is updated every month, at the end of the month.
|
||||
- The most up-to-date build of **development**.
|
||||
- Download it [here](https://autopatchgc.yuanshen.zip/dev_pc/grasscutter/development/latest).
|
||||
- This is the recommended version for playing.
|
||||
- This version can contain some bug fixes, be wary.
|
||||
- It is updated whenever a new commit is added to the `development` branch.
|
||||
- The most up-to-date build of **unstable**.
|
||||
- Download it [here](https://autopatchgc.yuanshen.zip/dev_pc/grasscutter/unstable/latest).
|
||||
- This is **not** a build for production use.
|
||||
- This version contains the most features, but the most bugs.
|
||||
- It is updated whenever a new commit is added to the `unstable` branch.
|
30
docs/Guide/Troubleshooting.md
Normal file
30
docs/Guide/Troubleshooting.md
Normal file
@ -0,0 +1,30 @@
|
||||
# Troubleshooting
|
||||
|
||||
## Fixing the Config
|
||||
|
||||
If the server asks you to place a copy of something in the working directory, follow these steps:
|
||||
1. Open `config.json` in a text editor of your choice
|
||||
2. Find `folderStructure` in your config
|
||||
1. See [Figure A](#figure-a)
|
||||
3. Find the `resources` part of `folderStructure`
|
||||
1. See [Figure B](#figure-b)
|
||||
4. Change to `./resources.zip`
|
||||
1. If your resources are in a different folder, change to the full path of the folder.
|
||||
|
||||
### Figure A
|
||||
```json
|
||||
{
|
||||
"folderStructure": {
|
||||
"resources": "./resources/",
|
||||
"data": "./data/",
|
||||
"packets": "./packets/",
|
||||
"scripts": "resources:Scripts/",
|
||||
"plugins": "./plugins/"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Figure B
|
||||
```
|
||||
"resources": "./resources.zip"
|
||||
```
|
65
docs/Home.md
Normal file
65
docs/Home.md
Normal file
@ -0,0 +1,65 @@
|
||||
# Welcome to Grasscutter!
|
||||
|
||||
This wiki contains information about the many parts of Grasscutter, including:
|
||||
- [What is Grasscutter?](#about)
|
||||
- [Running the Server](Guide/Running)
|
||||
- [Connecting to the Server](Guide/Connecting)
|
||||
- [Common Issues](Guide/Troubleshooting)
|
||||
- [Contributing](Contributing)
|
||||
|
||||
## About
|
||||
|
||||
Grasscutter is a _private server_ for a _certain anime game_.\
|
||||
Initially created by Meledy, Grasscutter has become (probably) the go-to server for said game.
|
||||
|
||||
## Features
|
||||
- SDK Server
|
||||
- [x] Account system
|
||||
- [x] Server dispatching
|
||||
- [x] Internal server communication
|
||||
- Game Server
|
||||
- [x] The 'beach'
|
||||
- [ ] Questing system
|
||||
- [x] Natural progression between quests
|
||||
- [x] Quest rewards
|
||||
- [ ] Every quest trigger
|
||||
- [ ] Every quest executor
|
||||
- [ ] Complete implementation of every quest
|
||||
- [ ] Ability system
|
||||
- [x] Healing abilities
|
||||
- [x] Self-damaging abilities
|
||||
- [ ] More...
|
||||
- [ ] Scripting system
|
||||
- [x] _Most_ script functions
|
||||
- [ ] **All** script functions
|
||||
- [x] Co-Op implementation
|
||||
- [x] Avatar system
|
||||
- [x] Switching avatars
|
||||
- [x] Configuring teams
|
||||
- [x] Trial avatar system
|
||||
- [x] Inventory/Item system
|
||||
- [x] Storing items
|
||||
- [x] Buying items from shops
|
||||
- [x] Deleting items from the inventory
|
||||
- [x] Limiting items in the inventory
|
||||
- [x] Social system
|
||||
- [x] Add friends
|
||||
- [x] Remove friends
|
||||
- [x] See avatars on a player's display
|
||||
- [x] Player signatures
|
||||
- [x] Player leveling
|
||||
- [x] Expandable chat system
|
||||
- [x] Command system
|
||||
- [x] Support for multiple languages
|
||||
- [x] Support for multiple game clients
|
||||
- [x] Android
|
||||
- [x] iOS
|
||||
- [x] Windows
|
||||
- [x] Chinese clients
|
||||
- Plugin System
|
||||
- [x] Listening to events
|
||||
- [x] Modifying event data
|
||||
- [x] Creating custom commands
|
||||
- [x] Modifying server behavior
|
||||
- [x] Customizing the account system
|
||||
- [x] Managing permissions
|
@ -1,3 +1,34 @@
|
||||
{
|
||||
|
||||
}
|
||||
[
|
||||
{
|
||||
"name": "Introduction",
|
||||
"_type": "file",
|
||||
"path": "Home.md"
|
||||
},
|
||||
{
|
||||
"name": "Working with Grasscutter",
|
||||
"_type": "file",
|
||||
"path": "Contributing.md"
|
||||
},
|
||||
{
|
||||
"name": "Guides",
|
||||
"_type": "dir",
|
||||
"_main": true,
|
||||
"children": [
|
||||
{
|
||||
"name": "Running",
|
||||
"_type": "file",
|
||||
"path": "Guide/Running.md"
|
||||
},
|
||||
{
|
||||
"name": "Connecting",
|
||||
"_type": "file",
|
||||
"path": "Guide/Connecting.md"
|
||||
},
|
||||
{
|
||||
"name": "Troubleshooting",
|
||||
"_type": "file",
|
||||
"path": "Guide/Troubleshooting.md"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
Loading…
Reference in New Issue
Block a user