Top Related Projects
A game server reimplementation for a certain turn-based anime game
Quick Overview
Grasscutter is an open-source server emulator for a popular anime-style action role-playing game. It allows users to host their own private servers, providing a customizable gameplay experience and the ability to modify in-game content. This project is primarily aimed at developers and enthusiasts interested in game server emulation.
Pros
- Enables private server hosting for customized gameplay experiences
- Provides a platform for modding and content creation
- Allows for offline play and preservation of game content
- Active community and ongoing development
Cons
- Potential legal issues due to copyright concerns
- May require technical knowledge to set up and maintain
- Incomplete implementation of all game features
- Possible instability or bugs compared to official servers
Getting Started
To set up Grasscutter:
-
Clone the repository:
git clone https://github.com/Grasscutters/Grasscutter.git
-
Install Java Development Kit 17 and MongoDB
-
Build the project:
cd Grasscutter ./gradlew jar
-
Run the server:
java -jar grasscutter.jar
-
Configure a proxy server (e.g., Fiddler) to redirect game traffic to your local server
-
Launch the game client and connect to your private server
Note: Detailed instructions and additional configuration steps can be found in the project's documentation.
Competitor Comparisons
A game server reimplementation for a certain turn-based anime game
Pros of LunarCore
- Specifically designed for Star Rail, offering more tailored features
- Potentially better performance due to focused development
- More active development and frequent updates
Cons of LunarCore
- Smaller community and less documentation
- May have fewer features or less stability compared to the more established Grasscutter
- Potentially less cross-game compatibility
Code Comparison
Grasscutter (Java):
public class Player {
private final Position position;
private final World world;
private final Inventory inventory;
// ...
}
LunarCore (Kotlin):
class Player(
val position: Position,
val world: World,
val inventory: Inventory
// ...
)
Both projects use object-oriented programming, but LunarCore utilizes Kotlin's concise syntax for class definitions. Grasscutter's Java implementation is more verbose but may be more familiar to a wider range of developers. The core concepts (player, position, world, inventory) appear similar in both projects, suggesting a common approach to game server architecture despite the different target games.
Convert
designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
EN | ç®ä¸ | ç¹ä¸ | FR | ES | HE | RU | PL | ID | KR | FIL/PH | NL | JP | IT | VI
Attention: We always welcome contributors to the project. Before adding your contribution, please carefully read our Code of Conduct.
Current features
- Logging in
- Combat
- Friends list
- Teleportation
- Gacha system
- Co-op partially works
- Spawning monsters via console
- Inventory features (receiving items/characters, upgrading items/characters, etc)
Foreward
Grasscutter beyond the latest release will have no handholding in terms of instructions.
Grasscutter has not been actively maintained and currently (as of January 12th, 2025) only works up to version REL4.0.1 (introduction to Fontaine). If you have a beta version/unofficial version of Grasscutter, this guide should theoretically still work, however, we will not provide official support these versions. You can still try your luck in the Discord if you are stuck, but please don't act entitled.
Quick setup guide
Note: For support please join our Discord.
Quick Start (automatic)
-
Get Java 17
-
Get game version REL4.0.x (If you don't have a 4.0.x client, you can find it here and open any of the links to download it): 4.0.x Client-github 4.0.x Client-cloud drive
-
UPDATE JAN 12, 2025: YOU CANNOT MIX AND MATCH GAME VERSIONS AND SERVER VERSIONS, PLEASE DOWNLOAD THE CORRECT VERSION OF GRASSCUTTER FOR YOUR VERSION OF THE GAME.
-
Download the latest Cultivation version. Use the
.msi
installer. -
After opening Cultivation (as admin), press the download button in the upper right corner.
-
Click
Download All-in-One
-
Click the gear in the upper right corner
-
Set the game Install path to where your game is located.
-
Set the Custom Java Path to
C:\Program Files\Java\jdk-17\bin\java.exe
-
Leave all other settings on default
-
Click the small button next to launch.
-
Click the launch button.
-
Log in with whatever username you want. Password can be anything.
Building
Grasscutter uses Gradle to handle dependencies & building.
Requirements:
- Java Development Kit 17 or higher
- Git
- NodeJS (Optional, for building the handbook)
Clone
git clone --recurse-submodules https://github.com/Grasscutters/Grasscutter.git
cd Grasscutter
Compile
Note: Handbook generation may fail on some systems. To disable the handbook generation, append -PskipHandbook=1
to the gradlew jar
command.
Windows:
.\gradlew.bat # Setting up environments
.\gradlew jar
Linux (GNU):
chmod +x gradlew
./gradlew jar
Compiling the Handbook (Manually)
With Gradle:
./gradlew generateHandbook
With NPM:
cd src/handbook
npm install
npm run build
You can find the output jar in the root of the project folder.
Troubleshooting
For a list of common issues and solutions and to ask for help, please join our Discord server and go to the support channel.
Top Related Projects
A game server reimplementation for a certain turn-based anime game
Convert
designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot