SOP: New Server Testing Procedure (FFG-SOP-001)
Created standardized testing procedure for all new server deployments. DOCUMENT TYPE: Standard Operating Procedure DOCUMENT ID: FFG-SOP-001 VERSION: 1.0 SCOPE: - New server deployments - Major modpack updates - Server migrations - Post-crash recovery testing TESTING PHASES: 1. Connection (5 min) - Verify players can connect 2. Initial Spawn (10 min) - Basic world loading and interaction 3. Server-Specific Features (15-20 min) - Mod/plugin functionality 4. Exploration & Base Selection (20-30 min) - World generation, base scouting 5. Performance Check (10 min) - Sustained play under load 6. Final Report (5 min) - Documentation and assessment STANDARD DELIVERABLES: - Testing report (docs/testing/[server]-[date]-test-report.md) - Base location recommendations with coordinates - Issue prioritization (Critical/Major/Minor) - Go/No-Go decision for public launch CUSTOMIZATION: - Template adaptable for vanilla, modded, skyblock, creative servers - Server-specific feature tests (Cobblemon, tech mods, etc.) - Automation script for checklist generation TIME REQUIREMENTS: - Minimum test: 30 minutes (phases 1-3) - Standard test: 60 minutes (phases 1-5) - Full test: 90 minutes (all phases + exploration) BASED ON: - Holly's All The Mons testing (2026-02-18) - Proven to catch critical issues before public launch PURPOSE: - Prevent launching broken servers to players - Standardize quality assurance - Document base locations for new players - Professional operations Status: Active procedure, ready for immediate use Fire + Frost + Foundation 💙🔥❄️
This commit is contained in:
418
docs/procedures/new-server-testing-procedure.md
Normal file
418
docs/procedures/new-server-testing-procedure.md
Normal file
@@ -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**
|
||||
Reference in New Issue
Block a user