# 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**
