This commit is contained in:
+5
-15
@@ -27,15 +27,12 @@ Stable:
|
|||||||
https://mc.ahmza.com/forever/stable/pack.toml
|
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.
|
`agsmc-playground` is a disposable creative superflat server that consumes the
|
||||||
|
Forever stable pack. It does not have an independent Packwiz publication
|
||||||
Development:
|
channel. Upcoming pack changes are validated on `agsmc-forever-staging` through
|
||||||
|
the Forever development endpoint.
|
||||||
```text
|
|
||||||
https://mc.ahmza.com/playground/dev/pack.toml
|
|
||||||
```
|
|
||||||
|
|
||||||
## Repository Structure
|
## Repository Structure
|
||||||
|
|
||||||
@@ -54,13 +51,6 @@ mc-modpacks/
|
|||||||
│ ├── config/
|
│ ├── config/
|
||||||
│ ├── defaultconfigs/
|
│ ├── defaultconfigs/
|
||||||
│ └── README.md
|
│ └── README.md
|
||||||
├── playground/
|
|
||||||
│ ├── pack.toml
|
|
||||||
│ ├── index.toml
|
|
||||||
│ ├── mods/
|
|
||||||
│ ├── config/
|
|
||||||
│ ├── defaultconfigs/
|
|
||||||
│ └── README.md
|
|
||||||
└── deploy/
|
└── deploy/
|
||||||
└── kubernetes/
|
└── kubernetes/
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -67,7 +67,7 @@ jobs:
|
|||||||
grep -q '^hash = "[0-9a-f]\{64\}"$' \
|
grep -q '^hash = "[0-9a-f]\{64\}"$' \
|
||||||
.build/site/forever/dev/pack.toml
|
.build/site/forever/dev/pack.toml
|
||||||
# Building distribution metadata must not alter tracked source packs.
|
# 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
|
- name: Verify tagged release output
|
||||||
if: startsWith(gitea.ref, 'refs/tags/')
|
if: startsWith(gitea.ref, 'refs/tags/')
|
||||||
|
|||||||
@@ -14,7 +14,7 @@
|
|||||||
"pid_limit"
|
"pid_limit"
|
||||||
],
|
],
|
||||||
"docker_images": {
|
"docker_images": {
|
||||||
"Java 21": "ghcr.io/ptero-eggs/yolks:java_21"
|
"Java 21": "ghcr.io/pterodactyl/yolks:java_21"
|
||||||
},
|
},
|
||||||
"file_denylist": [],
|
"file_denylist": [],
|
||||||
"startup": "bash ./start-packwiz.sh {{SERVER_MEMORY}}",
|
"startup": "bash ./start-packwiz.sh {{SERVER_MEMORY}}",
|
||||||
@@ -64,7 +64,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Packwiz Auto Sync",
|
"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",
|
"env_variable": "PACKWIZ_AUTO_SYNC",
|
||||||
"default_value": "1",
|
"default_value": "1",
|
||||||
"user_viewable": true,
|
"user_viewable": true,
|
||||||
|
|||||||
+1
-1
@@ -99,7 +99,7 @@ A tagged release is published to both:
|
|||||||
|
|
||||||
Release tags and release directories are immutable.
|
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
|
## 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.
|
# release-tag event whose checked-out commit is intentionally older than main.
|
||||||
export_pack "$dev_ref" forever "$site_root/forever/dev"
|
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
|
# 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.
|
# also identifies the newest release to copy to the stable channel.
|
||||||
release_tags=$(git tag --list 'forever-v*' --sort=-version:refname \
|
release_tags=$(git tag --list 'forever-v*' --sort=-version:refname \
|
||||||
|
|||||||
Reference in New Issue
Block a user