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)
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
-
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