Refresh the homepage and improve export and draft guidance
This commit is contained in:
61
docs/server-plugin.md
Normal file
61
docs/server-plugin.md
Normal file
@@ -0,0 +1,61 @@
|
||||
# Server plugin 0.1.1
|
||||
|
||||
## Update and connect
|
||||
|
||||
1. Stop the Minecraft server, replace its old MineGeo JAR with `public/tools/plugin/minegeo-plugin-1.21.11.jar`, and restart. Run `/version MineGeo` to verify 0.1.1.
|
||||
2. Open your MineGeo website dashboard, sign in, and generate a plugin token.
|
||||
3. In the Minecraft server console, configure the website and token. Console commands do not need the leading slash:
|
||||
|
||||
```text
|
||||
minegeo website https://your-minegeo-domain.example
|
||||
minegeo link <token copied from the dashboard>
|
||||
```
|
||||
|
||||
For LAN testing the website may be `http://192.168.1.50:3000`; use your actual address. `localhost` means the computer running Minecraft, which may be different from the Mac running the website. HTTP is supported for testing; use HTTPS when transmitting contributor tokens over a public connection.
|
||||
|
||||
## Export before uploading
|
||||
|
||||
Choose a small, already generated area around your builds. Coordinates below are examples:
|
||||
|
||||
```text
|
||||
minegeo area world -64 -64 64 64
|
||||
minegeo export My Overworld
|
||||
minegeo status
|
||||
```
|
||||
|
||||
Wait for **Export complete**. The plugin reports the full path, for example:
|
||||
|
||||
```text
|
||||
plugins/MineGeo/exports/export-1791117138143/
|
||||
terrain.json.gz
|
||||
manifest.json
|
||||
```
|
||||
|
||||
Each attempt gets a separate folder. A manifest is created only after the complete export passes the local limits and has five safe viewpoints. If the area is unexplored, underwater, too large, or has too few safe positions, the console and status tell you why. No new terrain is generated by exporting.
|
||||
|
||||
If no area has been selected, export uses a 512 × 512 area centered on the player issuing the command, or on world spawn for console commands. The configured maximum area size still applies.
|
||||
|
||||
Then run:
|
||||
|
||||
```text
|
||||
minegeo upload
|
||||
minegeo status
|
||||
```
|
||||
|
||||
Upload sends the latest **completed** export. It does not generate an export. The selection survives server restarts through `plugins/MineGeo/latest-export.txt`. Older `plugins/MineGeo/export/manifest.json` exports are still recognized when no newer selection exists.
|
||||
|
||||
## Finish on the website
|
||||
|
||||
The worker renders the map and panoramas. Open the private draft in your dashboard; the page updates while processing. Inspect the result, choose at least five locations, and submit for moderation. Once a moderator approves it, players can select it in the catalog.
|
||||
|
||||
## Retry, cancel, and configure
|
||||
|
||||
- An interrupted transfer resumes with `minegeo upload`. Progress is saved in `.upload-state.json` beside the export. Already received exports are not submitted twice.
|
||||
- `minegeo cancel` cancels capture or stops upload at the next transfer boundary. Completed exports are kept. HTTP requests already in flight can take up to their timeout to stop.
|
||||
- `minegeo reload` reloads `config.yml` after you edit `website`, `server-name`, `chunks-per-tick`, or other settings.
|
||||
- `minegeo status` reports the active stage and the last completed export folder.
|
||||
- `minegeo help` lists commands.
|
||||
|
||||
If processing fails on the website, read the draft's error. Fix the worker/setup or reduce the export area, then create and upload a new export. Keep the old folders until you no longer need them.
|
||||
|
||||
Expected limits: Minecraft 1.21.11 / Java 21, Overworld only, five or more safe viewpoints, at most 2048 blocks per selected side and the worker's terrain/file-size limits. A large selection may need to be split into smaller maps.
|
||||
22
docs/verification.md
Normal file
22
docs/verification.md
Normal file
@@ -0,0 +1,22 @@
|
||||
# Verification of the export/upload fixes
|
||||
|
||||
The following checks passed on Windows with Java 21 and Minecraft/Paper 1.21.11:
|
||||
|
||||
- A temporary Paper server with no connected player exported 16 chunks / 10,112 retained blocks and five valid surface viewpoints.
|
||||
- Upload without an export produced instructions instead of a missing-file exception.
|
||||
- An ungenerated area failed clearly, and a later export succeeded.
|
||||
- A simulated mid-transfer interruption resumed from the server's byte offset and reproduced the original SHA-256 checksum.
|
||||
- Retrying a completed upload did not create or finalize a duplicate dataset.
|
||||
- Cancellation preserved the pointer to the previous complete export.
|
||||
- The final Java uploader uploaded a real terrain file to the configured Supabase Storage project through the production Next.js API, then queued processing.
|
||||
- An unrendered draft could be opened without trying to sign nonexistent preview images.
|
||||
- Guests could not read that private draft.
|
||||
- Both an unfinished upload and queued processing could be cancelled.
|
||||
- Production homepage, catalog, downloads, local pixel font, example map, and both JAR URLs returned HTTP 200.
|
||||
- Both Gradle projects built; TypeScript, 14 Node tests, and the Next.js production build passed.
|
||||
|
||||
The real Storage test caught two additional issues that a mock endpoint did not: Java's cleartext HTTP/2 upgrade was incompatible with the website, and signed TUS transfers require `/storage/v1/upload/resumable/sign` plus the public API key and scoped signature. Both were corrected and the real upload passed afterward.
|
||||
|
||||
Reports: `artifacts-plugin-regression.json` and `artifacts-api-smoke.json`. Temporary test datasets were deleted and the temporary servers stopped.
|
||||
|
||||
This pass did not launch a Minecraft client, use Playwright, or use the Computer plugin. The browser appearance, an actual Fabric capture session, Spigot loading, and a fresh plugin panorama rendering run on macOS still need runtime verification. The existing renderer has not been replaced; earlier renderer proof is recorded separately in `artifacts-renderer-proof.json`.
|
||||
Reference in New Issue
Block a user