Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions .vitepress/config/en.ts
Original file line number Diff line number Diff line change
Expand Up @@ -57,14 +57,16 @@ function sidebar(): DefaultTheme.Sidebar {
},
{
text: 'Project Info',
items: [{ text: 'Changelog', link: '/en/changelog' }],
items: [
{ text: 'Changelog', link: '/en/changelog' },
{ text: 'Project Structure', link: '/en/structure' },
],
},
{
text: 'Development',
collapsed: true,
items: [
{ text: 'Contributing', link: '/en/contributing' },
{ text: 'Project Structure', link: '/en/structure' },
{ text: 'Contributors', link: '/en/contributor' },
],
},
Expand Down
6 changes: 4 additions & 2 deletions .vitepress/config/zh-tw.ts
Original file line number Diff line number Diff line change
Expand Up @@ -76,14 +76,16 @@ function sidebar(): DefaultTheme.Sidebar {
},
{
text: '專案資訊',
items: [{ text: '更新日誌', link: '/zh-tw/changelog' }],
items: [
{ text: '更新日誌', link: '/zh-tw/changelog' },
{ text: '專案結構', link: '/zh-tw/structure' },
],
},
{
text: '開發者',
collapsed: true,
items: [
{ text: '貢獻指南', link: '/zh-tw/contributing' },
{ text: '專案結構', link: '/zh-tw/structure' },
{ text: '貢獻者名單', link: '/zh-tw/contributor' },
],
},
Expand Down
6 changes: 4 additions & 2 deletions .vitepress/config/zh.ts
Original file line number Diff line number Diff line change
Expand Up @@ -76,14 +76,16 @@ function sidebar(): DefaultTheme.Sidebar {
},
{
text: '项目信息',
items: [{ text: '更新日志', link: '/zh/changelog' }],
items: [
{ text: '更新日志', link: '/zh/changelog' },
{ text: '项目结构', link: '/zh/structure' },
],
},
{
text: '开发者',
collapsed: true,
items: [
{ text: '贡献指南', link: '/zh/contributing' },
{ text: '项目结构', link: '/zh/structure' },
{ text: '贡献者名单', link: '/zh/contributor' },
],
},
Expand Down
4 changes: 2 additions & 2 deletions .vitepress/version.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/** 当前最新版本号,更新时只需修改此处 */
export const VERSION = '0.6.5'
export const VERSION = '1.0.0'

/** GitHub Release 下载基础 URL */
export const RELEASE_BASE = `https://github.com/SeaLantern-Studio/SeaLantern/releases/download/sea-lantern-v${VERSION}`
export const RELEASE_BASE = `https://github.com/SeaLantern-Studio/SeaLantern/releases/download/v${VERSION}`
8 changes: 8 additions & 0 deletions STRUCTURE.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
# Sea Lantern 项目结构

## v1.0.0 结构同步(2026-02-26)

- 创建流程相关代码已拆分到 `src/components/views/create/`(如 `createServerWorkflow.ts`、`StartupSelectionStep.vue`)
- 页面继续组件化拆分:`about/`、`home/`、`paint/`、`player/`、`settings/`
- API 层新增/完善:`src/api/downloader.ts`、`src/api/mcs_plugins.ts`
- 视图层新增 `src/views/DownloadFileView.vue`,插件页保留 `PluginsView / PluginsPageView / PluginCategoryView / PluginPageView`
- CI 工作流聚焦为:`check.yml`、`release.yml`、`issue-check.yml`、`aur-publish.yml`

## 项目概览

Sea Lantern(海晶灯)是一个轻量化的 Minecraft 服务器管理工具,基于 Tauri 2 + Rust + Vue 3 技术栈。
Expand Down
24 changes: 23 additions & 1 deletion en/changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,29 @@

[GitHub Releases](https://github.com/SeaLantern-Studio/SeaLantern/releases)

## v0.6.5 <Badge type="tip" text="Latest" />
## v1.0.0 <Badge type="tip" text="Latest" />

[GitHub Release](https://github.com/SeaLantern-Studio/SeaLantern/releases/tag/v1.0.0)

> 2026-02-26

### Highlights
- Server creation workflow upgraded with modpack auto-install, smart startup-mode detection, and custom startup commands
- Added import capability to bring existing servers/startup files into Sea Lantern
- Plugin system and plugin market improvements: permission panel behavior, state retention, and better download failure feedback
- Expanded Java auto-detection paths and one-click Java installation when runtime is missing
- Upgraded homepage charting with ECharts for clearer status visibility

### Stability & Engineering
- Continued i18n hardening by replacing hardcoded text and fixing multilingual display issues
- Fixed issues in server creation flow, plugin permission panel placement, drag box rendering, and window restore behavior
- Refactored core views (Settings/Home/Player/Paint) to reduce coupling and improve maintainability
- Reworked CI/CD and frontend quality-check workflows for cleaner release pipelines
- Added ARM architecture support in release assets (including Windows/Linux)

---

## v0.6.5

[GitHub Release](https://github.com/SeaLantern-Studio/SeaLantern/releases/tag/sea-lantern-v0.6.5)

Expand Down
15 changes: 13 additions & 2 deletions en/download.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,28 +13,39 @@ Choose the package that matches your system, then install directly.
Current latest version:
<a :href="`/en/changelog#v${VERSION.replace(/\./g, '-')}`"><strong>v{{ VERSION }}</strong></a>

::: tip Architecture update (v1.0.0+)
Windows and Linux ARM64 packages are now available. Choose the one matching your device architecture.
:::

## Windows

| Format | Description |
|--------|-------------|
| <a :href="`${RELEASE_BASE}/Sea.Lantern_${VERSION}_x64-setup.exe`">EXE Installer</a> | Recommended, double-click to install |
| <a :href="`${RELEASE_BASE}/Sea.Lantern_${VERSION}_x64_zh-CN.msi`">MSI Installer</a> | Windows Installer format |
| <a :href="`${RELEASE_BASE}/Sea.Lantern_${VERSION}_arm64-setup.exe`">EXE Installer (ARM64)</a> | For Windows on ARM |
| <a :href="`${RELEASE_BASE}/Sea.Lantern_${VERSION}_arm64_zh-CN.msi`">MSI Installer (ARM64)</a> | Windows Installer (ARM64) |

## macOS

| Format | Description |
|--------|-------------|
| <a :href="`${RELEASE_BASE}/Sea.Lantern_${VERSION}_aarch64.dmg`">DMG (Apple Silicon)</a> | M1 / M2 / M3 / M4 |
| <a :href="`${RELEASE_BASE}/Sea.Lantern_${VERSION}_x64.dmg`">DMG (Intel)</a> | x64 architecture |
| <a :href="`${RELEASE_BASE}/Sea.Lantern_aarch64.app.tar.gz`">app.tar.gz (Apple Silicon)</a> | Portable archive |
| <a :href="`${RELEASE_BASE}/Sea.Lantern_x64.app.tar.gz`">app.tar.gz (Intel)</a> | Portable archive |
Comment thread
KercyDing marked this conversation as resolved.
Comment on lines +35 to +36

Copilot AI Feb 27, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The macOS app.tar.gz download links are missing the version number in the filename, unlike all other download formats (DMG, DEB, RPM, etc.). The URLs should be Sea.Lantern_${VERSION}_aarch64.app.tar.gz and Sea.Lantern_${VERSION}_x64.app.tar.gz to maintain consistency with other release assets and prevent issues when multiple versions are hosted simultaneously.

Suggested change
| <a :href="`${RELEASE_BASE}/Sea.Lantern_aarch64.app.tar.gz`">app.tar.gz (Apple Silicon)</a> | Portable archive |
| <a :href="`${RELEASE_BASE}/Sea.Lantern_x64.app.tar.gz`">app.tar.gz (Intel)</a> | Portable archive |
| <a :href="`${RELEASE_BASE}/Sea.Lantern_${VERSION}_aarch64.app.tar.gz`">app.tar.gz (Apple Silicon)</a> | Portable archive |
| <a :href="`${RELEASE_BASE}/Sea.Lantern_${VERSION}_x64.app.tar.gz`">app.tar.gz (Intel)</a> | Portable archive |

Copilot uses AI. Check for mistakes.

## Linux

| Format | Description |
|--------|-------------|
| <a :href="`${RELEASE_BASE}/Sea.Lantern_${VERSION}_amd64.deb`">DEB</a> | Debian / Ubuntu |
| <a :href="`${RELEASE_BASE}/Sea.Lantern-${VERSION}-1.x86_64.rpm`">RPM</a> | Fedora / RHEL |
| <a :href="`${RELEASE_BASE}/Sea.Lantern_${VERSION}_arm64.deb`">DEB (ARM64)</a> | Debian / Ubuntu ARM64 |
| <a :href="`${RELEASE_BASE}/Sea.Lantern-${VERSION}-1.x86_64.rpm`">RPM</a> | Fedora / RHEL (x86_64) |
| <a :href="`${RELEASE_BASE}/Sea.Lantern-${VERSION}-1.aarch64.rpm`">RPM (ARM64)</a> | Fedora / RHEL (aarch64) |
| <a :href="`${RELEASE_BASE}/Sea.Lantern_${VERSION}_amd64.AppImage`">AppImage</a> | Universal format |
| <a :href="`${RELEASE_BASE}/Sea.Lantern_${VERSION}.pkg.tar.zst`">pkg.tar.zst</a> | Arch Linux installable package |
| <a :href="`${RELEASE_BASE}/Sea.Lantern_${VERSION}_aarch64.AppImage`">AppImage (ARM64)</a> | Universal format (ARM64) |
| <a :href="`${RELEASE_BASE}/sealantern-${VERSION}-1-x86_64.pkg.tar.zst`">pkg.tar.zst</a> | Arch Linux package (x86_64) |

Arch Linux users can install via AUR, for example:

Expand Down
5 changes: 5 additions & 0 deletions en/features.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ Lua script-based plugin extension mechanism:
- Plugin permission management panel
- Sandboxed plugin runtime
- Plugin install / enable / disable / delete workflow
- Plugin market entry with improved failure feedback and state retention

## Theme System

Expand All @@ -55,6 +56,7 @@ Lua script-based plugin extension mechanism:
- Auto-detect Java runtimes installed on the system
- Built-in Java downloader for one-click installation
- Manual Java path selection with validation support
- Expanded scan paths for common install locations to reduce missed detections

## Mod Management

Expand All @@ -66,6 +68,9 @@ Lua script-based plugin extension mechanism:

- Guided workflow to lower setup friction for new servers
- Supports `jar` / `bat` / `sh` startup modes
- Supports importing existing servers or startup files
- Smart startup-mode detection with custom startup command support
- Modpack auto-install is available during the creation flow
- Includes first-launch guidance for EULA-related steps

## Safe Shutdown
Expand Down
11 changes: 6 additions & 5 deletions en/getting-started.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ Arch Linux users can install via AUR (see the Linux section on the download page

## 2. Get a Server JAR

You need a Minecraft server JAR file to create a server. If you don't have one yet, check the [Server JAR Guide](/en/server-jar) to download one.
You can create a new server from a Minecraft server JAR, or import an existing server directory/startup script. If you don't have a core file yet, check the [Server JAR Guide](/en/server-jar) to download one.

::: tip Recommendation
For most players, we recommend [Paper](https://papermc.io/downloads/paper) — great performance and a rich plugin ecosystem.
Expand All @@ -42,10 +42,11 @@ Different Minecraft versions require different Java versions:
## 4. Create a Server

1. Click the "Create Server" button
2. Import your downloaded server JAR file
3. Select the Java runtime version
4. Name your server
5. Accept the Minecraft EULA on first launch
2. Choose an import source (JAR, existing server, or startup script)
3. Finish startup-mode detection in the wizard; customize startup command if needed
4. Select the Java runtime version (or install one-click if missing)
5. Name your server and confirm parameters
6. Accept the Minecraft EULA on first launch

## 5. Start the Server

Expand Down
6 changes: 3 additions & 3 deletions en/intro.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,15 @@ const featureItems = [
{ title: 'Real-time Console', desc: 'View live logs, run commands directly, and keep command history.', note: 'Useful for startup troubleshooting and routine operations without switching to another terminal.' },
{ title: 'Visual Configuration', desc: 'Edit server.properties with categorized controls instead of manual files.', note: 'Common options are faster to find; settings that require restart still follow server-side behavior.' },
{ title: 'Player Management', desc: 'Whitelist, ban, and OP operations are available in one place.', note: 'Online status and permission actions are centralized to reduce repeated command memorization.' },
{ title: 'Plugin System', desc: 'Lua-based extensions with support for custom UI and context menus.', note: 'Best for local extensions and tooling; complex ecosystems may still rely on native server workflows.' },
{ title: 'Plugin System', desc: 'Lua-based extensions with custom UI, context menus, and plugin market integration.', note: 'v1.0.0 improves permission panel behavior and market state retention for more stable workflows.' },
{ title: 'Creation Flow 2.0', desc: 'Supports JAR/script/existing-server import with smart startup detection and custom commands.', note: 'Modpack auto-install is available during setup to reduce first-run manual steps.' },
{ title: 'Theme System', desc: 'Five built-in themes with dark/light mode; acrylic effect is supported on Windows.', note: 'Theme switching keeps the same layout and focuses on readability and visual preference.' },
{ title: 'Multi-language', desc: '10 built-in languages including Chinese, English, Japanese, and Korean.', note: 'Language can be switched at runtime, and core terms stay aligned across UI and docs.' },
{ title: 'Java Management', desc: 'Auto-detect installed runtimes and install Java with one click.', note: 'You can reuse an existing JDK or quickly prepare a runtime from inside the app.' },
{ title: 'Java Management', desc: 'Auto-detect installed runtimes and install Java with one click.', note: 'v1.0.0 expands scan paths across common install directories to reduce missed detections.' },
{ title: 'Mod Management', desc: 'View installed server-side mods/plugins with basic management support.', note: 'Currently focused on local inspection and basic maintenance before deeper adjustments.' },
{ title: 'Safe Shutdown', desc: 'Stops the server automatically when the app closes to reduce data risk.', note: 'Helps avoid abrupt process termination and lowers save/world corruption risk.' },
{ title: 'Auto Update', desc: 'Check for new versions and jump to the download page (AUR workflow on Arch Linux).', note: 'Desktop updates are download-guided rather than silently overwriting your installation.' },
{ title: 'Cross-platform', desc: 'Supports Windows, macOS, and Linux (including Arch Linux AUR).', note: 'Some capabilities differ by platform, and platform-specific behavior is documented separately.' },
{ title: 'System Tray', desc: 'Minimize to the system tray and keep servers running in the background.', note: 'Practical for long-running servers, with quick restore and exit actions from the tray menu.' },
]
</script>

Expand Down
5 changes: 3 additions & 2 deletions en/server-jar.md
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,7 @@ When starting any Minecraft server for the first time, you must accept the [Mine
### What to Do After Downloading?

1. Most server types provide a `.jar` file (projects like Pumpkin may provide executables)
2. Click "Create Server" in Sea Lantern
2. Click "Create Server" in Sea Lantern and choose an import source (JAR / existing server / startup script)
3. For `.jar`, import it directly; for executables, use script startup mode (`bat` / `sh`)
4. See [Getting Started](/en/getting-started) for detailed steps
4. The wizard tries to auto-detect startup mode; you can manually adjust and set a custom startup command if needed
5. See [Getting Started](/en/getting-started) for detailed steps
133 changes: 133 additions & 0 deletions en/structure-full.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,133 @@
# Detailed Directory Structure

> Based on the `v1.0.0` tree of `SeaLantern-Studio/SeaLantern` (released on 2026-02-26).

## Top-Level Layout

```text
SeaLantern/
├── .github/
│ ├── ISSUE_TEMPLATE/
│ ├── pull_request_template.md
│ └── workflows/
│ ├── check.yml
│ ├── release.yml
│ ├── issue-check.yml
│ └── aur-publish.yml
├── docs/
│ ├── AI_GUIDE.md
│ ├── CONTRIBUTING.md
│ └── STRUCTURE.md
├── src/ # Vue 3 + TypeScript frontend
├── src-tauri/ # Rust + Tauri 2 backend
├── Cargo.toml
├── package.json
├── pnpm-lock.yaml
├── README.md
└── README-en.md
```

## Frontend (`src/`)

### API Layer (`src/api/`)

```text
src/api/
├── tauri.ts
├── server.ts
├── config.ts
├── settings.ts
├── player.ts
├── java.ts
├── system.ts
├── plugin.ts
├── mcs_plugins.ts
├── downloader.ts
├── update.ts
├── remoteLocales.ts
└── index.ts
```

### Component Layer (`src/components/`)

```text
src/components/
├── common/ # shared UI primitives (SLButton/SLInput/SLSelect/SLTabs/SLDropzone...)
├── layout/ # AppHeader/AppLayout/AppSidebar
├── console/ # ConsoleInput/ConsoleOutput/CommandModal
├── config/ # ConfigCategories/ConfigEntry/ConfigToolbar
├── plugin/ # PluginComponentRenderer/PluginPermissionPanel
├── splash/ # SplashScreen
├── views/
│ ├── create/ # creation workflow split (workflow, startup utils, step components)
│ ├── home/
│ ├── player/
│ ├── settings/
│ ├── paint/
│ └── about/
└── JavaDownloader.vue
```

### View Layer (`src/views/`)

```text
src/views/
├── HomeView.vue
├── CreateServerView.vue
├── ConsoleView.vue
├── ConfigView.vue
├── PlayerView.vue
├── SettingsView.vue
├── PaintView.vue
├── AboutView.vue
├── MarketView.vue
├── DownloadFileView.vue
├── PluginsView.vue
├── PluginsPageView.vue
├── PluginCategoryView.vue
└── PluginPageView.vue
```

### State and Infrastructure

```text
src/
├── stores/ # server/console/settings/plugin/ui/update/i18n stores
├── composables/ # useAsync/useMessage/useTabIndicator/useAboutLinks...
├── language/ # 10 locales + index.ts
├── themes/ # default/midnight/ocean/rose/sunset
├── styles/ # variables/reset/typography/app + module styles
├── types/ # common/plugin/server/theme
├── utils/ # constants/errorHandler/serverUtils/theme/version
├── data/ # contributors.ts
├── router/index.ts
├── App.vue
├── main.ts
└── style.css
```

## Backend (`src-tauri/`)

```text
src-tauri/
├── capabilities/default.json
├── tauri.conf.json
├── build.rs
├── Cargo.toml
└── src/
├── commands/ # server/player/java/settings/system/update/downloader/mcs_plugin...
├── services/ # server_manager/server_installer/download_manager/java_detector...
├── models/ # server/plugin/config/settings/download models
├── plugins/ # Lua plugin runtime (api/loader/manager/runtime)
├── utils/ # cli/path/downloader
├── lib.rs
└── main.rs
```

## Key Structural Changes in v1.0.0

- Server creation flow is fully split under `src/components/views/create/`.
- Plugin-related views and permission handling are clearly separated.
- Download modules are split out on both frontend and backend.
- `src/views/DownloadFileView.vue` is now part of the routed views.
- CI workflow is streamlined into check, release, issue-check, and AUR publish.
10 changes: 10 additions & 0 deletions en/structure.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,19 @@
- **Package Manager**: pnpm
- **Linting**: oxlint + oxfmt

## v1.0.0 Structure Sync (2026-02-26)

- Server-creation flow is split under `src/components/views/create/` (import source, startup detection, custom command)
- View internals are further modularized under `about/`, `home/`, `paint/`, `player/`, and `settings/`
- API layer additions/updates include `src/api/downloader.ts` and `src/api/mcs_plugins.ts`
- View layer includes `DownloadFileView.vue` and multi-view plugin pages (`PluginsView / PluginsPageView / PluginCategoryView / PluginPageView`)
- Active CI/CD workflows: `check.yml`, `release.yml`, `issue-check.yml`, `aur-publish.yml`

## Directory Overview

```

[Detailed Directory Structure](/en/structure-full)

Copilot AI Feb 27, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The link to the detailed structure is placed inside the code block, which will render it as plain text rather than a clickable link. The link should be placed before the code block starts (before line 22), similar to how it's done in the zh/structure.md file where the link appears after the closing triple backticks on line 54.

Copilot uses AI. Check for mistakes.
SeaLantern/
├── src/ # Frontend source (Vue 3)
│ ├── api/ # Tauri invoke wrappers
Expand Down
Loading