This commit is contained in:
+5
-15
@@ -27,15 +27,12 @@ Stable:
|
||||
https://mc.ahmza.com/forever/stable/pack.toml
|
||||
```
|
||||
|
||||
### Playground
|
||||
### Creative Playground Server
|
||||
|
||||
Disposable environment for testing mods, updates and configuration changes before considering them for Forever World.
|
||||
|
||||
Development:
|
||||
|
||||
```text
|
||||
https://mc.ahmza.com/playground/dev/pack.toml
|
||||
```
|
||||
`agsmc-playground` is a disposable creative superflat server that consumes the
|
||||
Forever stable pack. It does not have an independent Packwiz publication
|
||||
channel. Upcoming pack changes are validated on `agsmc-forever-staging` through
|
||||
the Forever development endpoint.
|
||||
|
||||
## Repository Structure
|
||||
|
||||
@@ -54,13 +51,6 @@ mc-modpacks/
|
||||
│ ├── config/
|
||||
│ ├── defaultconfigs/
|
||||
│ └── README.md
|
||||
├── playground/
|
||||
│ ├── pack.toml
|
||||
│ ├── index.toml
|
||||
│ ├── mods/
|
||||
│ ├── config/
|
||||
│ ├── defaultconfigs/
|
||||
│ └── README.md
|
||||
└── deploy/
|
||||
└── kubernetes/
|
||||
```
|
||||
|
||||
@@ -67,7 +67,7 @@ jobs:
|
||||
grep -q '^hash = "[0-9a-f]\{64\}"$' \
|
||||
.build/site/forever/dev/pack.toml
|
||||
# Building distribution metadata must not alter tracked source packs.
|
||||
git diff --exit-code -- forever playground
|
||||
git diff --exit-code -- forever
|
||||
|
||||
- name: Verify tagged release output
|
||||
if: startsWith(gitea.ref, 'refs/tags/')
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
"pid_limit"
|
||||
],
|
||||
"docker_images": {
|
||||
"Java 21": "ghcr.io/ptero-eggs/yolks:java_21"
|
||||
"Java 21": "ghcr.io/pterodactyl/yolks:java_21"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": "bash ./start-packwiz.sh {{SERVER_MEMORY}}",
|
||||
@@ -64,7 +64,7 @@
|
||||
},
|
||||
{
|
||||
"name": "Packwiz Auto Sync",
|
||||
"description": "Run packwiz-installer before every server start. 1 = enabled, 0 = disabled. Recommended: Forever=0 after deployment if you want explicit promotions; Playground=1.",
|
||||
"description": "Run packwiz-installer before every server start. 1 = enabled, 0 = disabled. Use 1 for servers that track stable or dev; use 0 only for manually pinned deployments.",
|
||||
"env_variable": "PACKWIZ_AUTO_SYNC",
|
||||
"default_value": "1",
|
||||
"user_viewable": true,
|
||||
|
||||
+1
-1
@@ -99,7 +99,7 @@ A tagged release is published to both:
|
||||
|
||||
Release tags and release directories are immutable.
|
||||
|
||||
Major mod additions, Minecraft migrations and other potentially disruptive changes should be tested on Playground or a feature branch before being introduced here.
|
||||
Major mod additions, Minecraft migrations and other potentially disruptive changes should be tested on the Forever staging server or a feature branch before being introduced here.
|
||||
|
||||
## Updating a Mod
|
||||
|
||||
|
||||
@@ -1,84 +0,0 @@
|
||||
# Playground
|
||||
|
||||
Playground is the experimental Minecraft environment.
|
||||
|
||||
Unlike Forever World, this pack is intentionally disposable and exists for testing mods, updates and configuration changes without risking the permanent world.
|
||||
|
||||
## Purpose
|
||||
|
||||
Use Playground for:
|
||||
|
||||
- evaluating new mods
|
||||
- testing major mod updates
|
||||
- testing Minecraft/NeoForge upgrades
|
||||
- experimenting with world generation
|
||||
- testing compatibility between mods
|
||||
- testing configuration changes
|
||||
- reproducing crashes
|
||||
- validating potential Forever World changes
|
||||
|
||||
The world may be reset or replaced at any time.
|
||||
|
||||
## Platform
|
||||
|
||||
The Minecraft and NeoForge versions may change depending on what is being tested.
|
||||
|
||||
Packwiz remains the source of truth for the pack.
|
||||
|
||||
## Deployment
|
||||
|
||||
Development builds are published at:
|
||||
|
||||
```text
|
||||
https://mc.ahmza.com/playground/dev/pack.toml
|
||||
```
|
||||
|
||||
The Pterodactyl server should normally use:
|
||||
|
||||
```text
|
||||
PACKWIZ_AUTO_SYNC=1
|
||||
```
|
||||
|
||||
so restarting Playground synchronises it with the latest published pack.
|
||||
|
||||
## Development
|
||||
|
||||
Playground changes can normally be committed directly to `main`:
|
||||
|
||||
```bash
|
||||
cd playground
|
||||
|
||||
packwiz add <mod>
|
||||
packwiz refresh
|
||||
|
||||
git add .
|
||||
git commit -m "Test <mod> in Playground"
|
||||
git push
|
||||
```
|
||||
|
||||
Feature branches may be used for larger experiments, but are not required for routine testing.
|
||||
|
||||
## Promotion to Forever World
|
||||
|
||||
A mod working in Playground does not automatically make it suitable for Forever World.
|
||||
|
||||
Before promotion consider:
|
||||
|
||||
- stability
|
||||
- maintenance activity
|
||||
- compatibility
|
||||
- world-save impact
|
||||
- dependencies
|
||||
- performance
|
||||
- removal behaviour
|
||||
- future Minecraft upgrade prospects
|
||||
|
||||
Mods considered suitable should then be added independently to the Forever pack and tested against the Forever staging server.
|
||||
|
||||
## Persistence
|
||||
|
||||
Nothing in Playground should be considered permanent.
|
||||
|
||||
Worlds, configs and mods may be removed or reset as required.
|
||||
|
||||
If something matters, move it into the appropriate version-controlled configuration before relying on it.
|
||||
@@ -49,14 +49,6 @@ export_pack() {
|
||||
# release-tag event whose checked-out commit is intentionally older than main.
|
||||
export_pack "$dev_ref" forever "$site_root/forever/dev"
|
||||
|
||||
# Playground is documented but intentionally incomplete today. Start serving
|
||||
# it automatically as soon as a committed playground/pack.toml exists.
|
||||
if export_pack "$dev_ref" playground "$site_root/playground/dev"; then
|
||||
echo "Published playground development pack from $dev_ref"
|
||||
else
|
||||
echo "Skipping playground: $dev_ref has no playground/pack.toml" >&2
|
||||
fi
|
||||
|
||||
# Each forever-vX.Y.Z tag becomes an immutable URL. Version-aware Git sorting
|
||||
# also identifies the newest release to copy to the stable channel.
|
||||
release_tags=$(git tag --list 'forever-v*' --sort=-version:refname \
|
||||
|
||||
Reference in New Issue
Block a user