diff --git a/docs/procedures/new-server-testing-procedure.md b/docs/procedures/new-server-testing-procedure.md new file mode 100644 index 0000000..75ef68f --- /dev/null +++ b/docs/procedures/new-server-testing-procedure.md @@ -0,0 +1,418 @@ +# New Server Testing Procedure + +**Document Type:** Standard Operating Procedure +**Document ID:** FFG-SOP-001 +**Version:** 1.0 +**Created:** 2026-02-18 +**Last Updated:** 2026-02-18 +**Status:** Active + +--- + +## Purpose + +Standardized testing checklist for all new Minecraft servers before opening to general player base. Ensures server stability, performance, and feature functionality. + +--- + +## Scope + +**Applies to:** +- New server deployments +- Major modpack updates +- Server migrations +- Infrastructure changes affecting gameplay +- Post-crash recovery testing + +**Does NOT apply to:** +- Minor plugin updates (unless gameplay-affecting) +- Routine restarts +- Cosmetic changes only + +--- + +## Roles + +**Server Administrator (Michael/Meg):** +- Deploys server +- Monitors console during testing +- Addresses critical issues immediately +- Reviews test results + +**Tester (Staff or Trusted Player):** +- Executes testing checklist +- Documents issues +- Reports findings to administrator +- Suggests improvements + +--- + +## Prerequisites + +**Before testing begins:** +- [ ] Server is running and accessible +- [ ] Tester has modpack/client installed (if modded) +- [ ] Tester knows server address/subdomain +- [ ] Administrator is available for immediate support +- [ ] Console is being monitored + +--- + +## Testing Checklist Template + +### Phase 1: Connection (5 minutes) + +**Objective:** Verify players can connect to server + +- [ ] Launch Minecraft with appropriate version/modpack +- [ ] Add server using subdomain (e.g., `servername.firefrostgaming.com`) +- [ ] Verify server appears in list with green ping +- [ ] Successfully join server without errors +- [ ] If connection fails, try direct IP as fallback + +**Critical issues (stop testing):** +- Cannot connect at all +- Immediate crash on join +- "Connection refused" errors + +--- + +### Phase 2: Initial Spawn (10 minutes) + +**Objective:** Verify basic world loading and interaction + +**World Loading:** +- [ ] World loads without crashes +- [ ] No red error messages in chat +- [ ] Can move around smoothly +- [ ] Press F3 - verify TPS is 18-20 +- [ ] Spawn area looks normal/complete + +**Basic Interaction:** +- [ ] Can break blocks +- [ ] Can place blocks +- [ ] Can open inventory (E key) +- [ ] Can access crafting table +- [ ] Can interact with containers (chests, furnaces) +- [ ] Can pick up items + +**Performance baseline:** +- Record TPS: ____ +- Record FPS: ____ +- Any lag spikes: Y/N + +--- + +### Phase 3: Server-Specific Features (15-20 minutes) + +**Objective:** Test unique features of this server type + +**For Modded Servers:** +- [ ] Major mod features load properly +- [ ] Custom items/blocks exist +- [ ] Mod UIs/menus open correctly +- [ ] Mod-specific mechanics work +- [ ] No missing textures or errors + +**For Vanilla/Plugins:** +- [ ] Plugin commands work (/spawn, /home, etc.) +- [ ] Economy/permissions active +- [ ] Custom features functional +- [ ] Server rules/info accessible + +**For Specific Modpacks (customize per server):** + +*Example - Cobblemon:* +- [ ] Wild Pokémon spawn +- [ ] Can catch Pokémon +- [ ] Pokémon menu opens (R key) +- [ ] Battle mechanics work +- [ ] No battle crashes + +*Example - Tech Modpack:* +- [ ] Machines craft/place correctly +- [ ] Power generation works +- [ ] Automation functions +- [ ] No missing recipes + +**Document issues:** +- Feature: ____________ +- Issue: ____________ +- Severity: Critical/Major/Minor + +--- + +### Phase 4: Exploration & Base Selection (20-30 minutes) + +**Objective:** Test world generation and find optimal base locations + +**Exploration:** +- [ ] Chunks load smoothly during travel +- [ ] No chunk errors or holes +- [ ] Biomes generate correctly +- [ ] Structures spawn (villages, dungeons, etc.) +- [ ] No terrain glitches + +**Base Location Scouting:** +- [ ] Find area within 500-1000 blocks of spawn +- [ ] Flat or interesting terrain +- [ ] Near water source (if applicable) +- [ ] Good resource access +- [ ] Aesthetically pleasing + +**When suitable location found:** +1. Press F3 - record coordinates +2. Take screenshot (F2) +3. Place temporary marker (dirt pillar/torch) +4. Note biome and nearby features + +**Recommended Base Location:** +- Coordinates: X:____ Y:____ Z:____ +- Biome: ____________ +- Nearby features: ____________ +- Why recommended: ____________ + +--- + +### Phase 5: Performance Check (10 minutes) + +**Objective:** Verify sustained performance under normal play + +**Sustained Play:** +- [ ] Play normally for 10 minutes +- [ ] No disconnects or kicks +- [ ] No major lag spikes +- [ ] No crashes to desktop +- [ ] Gameplay feels smooth + +**Resource Monitoring:** +- [ ] Check FPS (should be 60+ on decent hardware) +- [ ] Check server TPS (should be 19-20) +- [ ] No "Server overloaded" warnings +- [ ] Memory usage stable (via F3 if visible) + +**Performance Notes:** +- Average FPS: ____ +- Average TPS: ____ +- Lag events: ____ +- Overall feel: Smooth/Acceptable/Laggy + +--- + +### Phase 6: Final Report (5 minutes) + +**Objective:** Document findings for administrator + +**Overall Assessment:** +- [ ] Connection: ✅ Stable / ⚠️ Issues / ❌ Failed +- [ ] Gameplay: ✅ Smooth / ⚠️ Minor issues / ❌ Unplayable +- [ ] Features: ✅ All working / ⚠️ Some broken / ❌ Major failures +- [ ] Performance: ✅ Excellent / ⚠️ Acceptable / ❌ Poor + +**Critical Issues (immediate fix required):** +1. ____________ +2. ____________ + +**Major Issues (fix before public launch):** +1. ____________ +2. ____________ + +**Minor Issues (fix when convenient):** +1. ____________ +2. ____________ + +**Recommendations:** +- Ready for public: Y/N +- Needs fixes first: Y/N +- Recommended base coords: ____________ +- Additional notes: ____________ + +--- + +## Quick Reference Card + +**Essential Keys:** +- **E** - Inventory +- **F3** - Debug info (TPS, FPS, coords) +- **F2** - Screenshot +- **T** - Chat +- **/** - Commands + +**Target Metrics:** +- **TPS:** 18-20 (anything below 18 is concerning) +- **FPS:** 60+ (player-side, hardware dependent) +- **Ping:** <100ms ideal, <200ms acceptable + +**Priority Levels:** +- **🚨 Critical:** Server crashes, cannot connect, game-breaking bugs +- **⚠️ Major:** Frequent lag, broken core features, disconnects +- **ℹ️ Minor:** Cosmetic issues, small bugs, quality-of-life problems + +--- + +## Estimated Time Requirements + +**Minimum Test (Phases 1-3):** 30 minutes +**Standard Test (Phases 1-5):** 60 minutes +**Full Test (All phases + exploration):** 90 minutes + +--- + +## Post-Testing Actions + +### If Test Passes (Ready for Public) +1. Administrator reviews report +2. Mark server as "Tested and Stable" +3. Announce to community +4. Monitor for first 24 hours post-launch +5. Document base location recommendations + +### If Test Fails (Issues Found) +1. Administrator addresses critical issues immediately +2. Fix major issues before retry +3. Schedule retest after fixes +4. Document what was changed +5. Do NOT open to public until passing test + +### If Test Partially Passes (Minor Issues) +1. Document minor issues for later fix +2. Assess if issues affect gameplay significantly +3. Administrator decides: launch or delay +4. Monitor closely if launching with known minor issues + +--- + +## Documentation Requirements + +**After every test, create:** + +**File:** `docs/testing/[server-name]-[date]-test-report.md` + +**Contents:** +```markdown +# [Server Name] - Testing Report + +**Date:** YYYY-MM-DD +**Tester:** [Name] +**Server Version:** [Modpack version or vanilla version] +**Test Duration:** [X minutes] + +## Connection Test +- Result: Pass/Fail +- Issues: [None or describe] + +## Spawn Test +- TPS: [Value] +- FPS: [Value] +- Issues: [None or describe] + +## Feature Test +- Major features tested: [List] +- Working: [List] +- Broken: [List] + +## Performance Test +- Sustained play: [Smooth/Laggy] +- Disconnects: [Count] +- Crashes: [Count] + +## Base Location Recommendation +- Coordinates: X:____ Y:____ Z:____ +- Description: [Why this spot] + +## Overall Assessment +- Ready for public: Y/N +- Critical issues: [Count] +- Major issues: [Count] +- Minor issues: [Count] + +## Recommendations +[Any suggestions for improvement] + +## Screenshots +[Attach relevant screenshots] +``` + +--- + +## Customization per Server Type + +### Vanilla Servers +- Focus on plugin functionality +- Test permissions and commands +- Verify economy/shops if applicable + +### Modded Servers +- Test major mod features specifically +- Check for missing items/recipes +- Verify mod interactions work + +### Skyblock/Challenge Maps +- Test starting island completeness +- Verify challenges/quests load +- Check resource generation + +### Creative/Building Servers +- Test WorldEdit/building tools +- Verify plot systems +- Check schematic loading + +--- + +## Template Checklist Generation + +**For quick deployment, use this script:** + +```bash +#!/bin/bash +# Generate testing checklist for specific server + +SERVER_NAME=$1 +SERVER_TYPE=$2 # vanilla, modded, skyblock, etc. +MODPACK_NAME=$3 # if applicable + +cat > "testing-checklist-${SERVER_NAME}.md" << EOF +# ${SERVER_NAME} - Testing Checklist + +**Server:** ${SERVER_NAME} +**Type:** ${SERVER_TYPE} +**Modpack:** ${MODPACK_NAME} +**Tester:** ____________ +**Date:** $(date +%Y-%m-%d) + +[Insert standard checklist from SOP] + +## Server-Specific Tests +[Customize based on server type] + +EOF + +echo "Checklist generated: testing-checklist-${SERVER_NAME}.md" +``` + +**Usage:** +```bash +./generate-test-checklist.sh "All The Mons" "modded" "Cobblemon 0.10.0-beta" +``` + +--- + +## Revision History + +| Version | Date | Author | Changes | +|---------|------|--------|---------| +| 1.0 | 2026-02-18 | The Chronicler | Initial creation based on All The Mons testing | + +--- + +## Related Documents + +- **Infrastructure Manifest:** `docs/core/infrastructure-manifest.md` +- **Deployment Procedures:** `docs/procedures/server-deployment.md` +- **Troubleshooting Guide:** `docs/troubleshooting/common-issues.md` + +--- + +**Fire + Frost + Foundation = Where Love Builds Legacy** 💙🔥❄️ + +**Standard procedures = Professional operations**