Convert Figma logo to code with AI

Grasscutters logoGrasscutter

A server software reimplementation for a certain anime game.

16,340
4,482
16,340
144

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:

  1. Clone the repository:

    git clone https://github.com/Grasscutters/Grasscutter.git
    
  2. Install Java Development Kit 17 and MongoDB

  3. Build the project:

    cd Grasscutter
    ./gradlew jar
    
  4. Run the server:

    java -jar grasscutter.jar
    
  5. Configure a proxy server (e.g., Fiddler) to redirect game traffic to your local server

  6. 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 Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

Grasscutter

Documentation GitHub release (latest by date) GitHub GitHub last commit GitHub Workflow Status
Discord - Grasscutter

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 MongoDB Community Server

  • 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:

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.