- Download and install server core
- Logs and load at the control panel in real time; send commands to the server directly
- Edit server.properties graphically, without browsing directories
- Manage whitelists, bans and OPs in switches
- The server shuts down automatically when you close the app, so no saves are damaged.
- Check for and download updates in one click
(Tips:Actually, we already have a documentation site!There you can view all kinds of documents more intuitively and conveniently.You can click here to go to the docs site.)
Download the software from Releases;
Import a server .jar, choose a Java version, then click Start. It's that simple.
You'll need Node.js 20+ and Rust 1.70+.
Please also install pnpm and cargo.
You need to first Fork the source repository, then proceed with development work in your own repository.
If you only want to check the latest progress, you can directly fetch the source repository:
git clone https://github.com/SeaLantern-Studio/SeaLantern.git
cd SeaLanternThe project's package manager was voted to switch from npm to pnpm.
Frontend and Backend:
pnpm install
pnpm run tauri devOn some Linux distributions, such as Arch, running pnpm run tauri dev directly may not compile successfully. Please check if your dependency libraries are complete. It is recommended to use your package manager to install Tauri dependencies beforehand when running the above command to avoid missing dependency issues. Click here to go to "Tauri | Prerequisites"
Only Frontend:
pnpm devBuild release:
pnpm run tauri buildBuilt binaries are in src-tauri/target/release/bundle/.
Before your PR, we encourage you to run the commands below to check the code's quality:
For frontend
# Code Quality Check
pnpm run lint
# Fix fixable problems
pnpm run lint:fix
# Format code
pnpm run fmt
# Check format
pnpm run fmt:checkFor backend
# Check format
cargo fmt --all -- --check
# Run Clippy check
cargo clippy --workspace -- -D warnings
# Format code
cargo fmt --allCI automated checks are set up to ensure that all submitted code meets the standards.
- Local
pre-commit: auto-formats staged frontend files vialint-staged+oxfmt - Local
commit-msg: enforces Conventional Commits format - CI: re-validates commit messages and code quality on PR/push
Allowed commit types: feat, fix, docs, style, refactor, perf, test, chore, revert, security
Example: feat(plugin): add retry logic for plugin downloads
- Frontend: Vue 3 + TypeScript + Vite + Pinia
- Backend: Rust + Tauri 2
- Style: CSS
- Communicate: Tauri invoke (The frontend calls Rust functions and receives the results)
No Electron, no Node backend, no Webpack. Launch fast, size small, RAM saved.
We use WebView as the frontend rendering component. WebView is a built-in application in modern computer systems, with frontend and backend memory usage generally not exceeding 70MiB
See Project Structure.
Placeholders have been reserved for these features with existing code skeletons—waiting for your contributions:
- Backup Management - Incremental backup and restore of save files
- Intranet Penetration - FRP integration
- Scheduled Tasks - Automatic restarts, scheduled backups, and scheduled commands
- Resource Management - Search and install plugins/mods from Modrinth & CurseForge
Contributions are welcome! Before you start, please read the Contributing Guidelines to understand code standards and development workflows.
GUI modifications are also OK!
Colors are managed via CSS variables — components are modular — change any part you don't like.
Want to create a theme/skin? Go for it; want to completely redesign the layout? That's fine!
Of course, the prerequisite for all of this is that you have sufficient reasons and abilities, and can only do it after discussing with everyone in the group, otherwise it is very likely that we will reject the PR
- Fork the
devbranch of repository - Create a branch and implement your changes
- Submit a Pull Request
- Your name will be added to the contributor wall
We have certain limitations on AI programming, namely Vibe Coding: only fixing, not refactoring, not making significant changes, manual review.
-
Only fix: Due to the limitations of most current AI capabilities, it is unrealistic to rely entirely on AI.
-
Not Refactoring: AI's contextual and abstract understanding abilities are not sufficient for AI to refactor existing content. Of course, there may be lucky ones who can still use it after refactoring, but that is just an example.
-
Not much changed: Do not let AI make unauthorized changes to any content that has a huge impact.
-
Manual review: After using AI, it is necessary to manually review whether there are any errors. If you do not know how to review, you can go to the group to find the management. Remember to politely ask questions instead of harassing the management.
Not being able to write code is also acceptable. Say what feature you want, or draw a UI sketch and send it out. As long as it is verified to be useful, it is considered a contribution.
If you are going to add a "Backup Management":
- Create
backup_manager.rsundersrc-tauri/src/services/, code the logic - Create
backup.rsundersrc-tauri/src/commands/, code with Tauri - Add
pub mod backupincommands/mod.rs - Register the command in the
generate_handler!macro underlib.rs
- Create
backup.tsundersrc/api/, encapsulate invokes - Create
BackupView.vueundersrc/views/, make the page - Add routes in
src/router/index.ts - Add an item to the
navItemsarray inAppSidebar.vue
The frontend and backend each have 3 files, plus one line each for the router and the sidebar.
Sea Lantern supports multiple languages, including Simplified Chinese, Traditional Chinese and English. See the i18n guide: src/language/README-en.md
If you want to add additional languages besides the commonly used ones, please create plugins.
GNU General Public License v3.0
Thanks to everyone who contributed to Sea Lantern!
Sea Lantern is an open source project under the GPLv3 license.
Minecraft is a trademark of Mojang AB. This project is not approved or associated with Mojang or Microsoft.
"We've built the framework — the soul is up to you."