在 Manus 中运行任何 Skill
一键导入
一键导入
一键在 Manus 中运行任何 Skill
开始使用deployment
Game server deployment with Docker, Kubernetes, and global distribution strategies
星标1
分支1
更新时间2025年12月30日 11:46
文件资源管理器
7 个文件SKILL.md
readonly菜单
Game server deployment with Docker, Kubernetes, and global distribution strategies
Asynchronous programming models including coroutines, async/await, and reactive patterns
Game server communication protocols including gRPC, REST, and custom binary protocols
Efficient data serialization for game networking including Protobuf, FlatBuffers, and custom binary
Game data persistence with player profiles, leaderboards, inventory systems using Redis and PostgreSQL
Game server design patterns including ECS, command pattern, and event sourcing
Server-side game loop implementation with fixed timestep, physics simulation, and tick rate optimization
| name | deployment |
| description | Game server deployment with Docker, Kubernetes, and global distribution strategies |
| sasmp_version | 1.3.0 |
| version | 2.0.0 |
| bonded_agent | 07-devops-deployment |
| bond_type | PRIMARY_BOND |
| parameters | {"required":["platform","environment"],"optional":["replicas","regions"],"validation":{"platform":{"type":"string","enum":["docker","kubernetes","ecs","bare_metal"]},"environment":{"type":"string","enum":["dev","staging","prod"]},"replicas":{"type":"integer","min":1,"max":1000,"default":3},"regions":{"type":"array","items":"string"}}} |
| retry_config | {"max_attempts":3,"backoff":"exponential","initial_delay_ms":5000,"max_delay_ms":60000} |
| observability | {"logging":{"level":"info","fields":["deployment_id","version","status"]},"metrics":[{"name":"deployment_duration_seconds","type":"histogram"},{"name":"deployment_success_total","type":"counter"},{"name":"pods_ready","type":"gauge"}]} |
Deploy scalable game servers with containerization and orchestration.
FROM node:20-alpine AS builder
WORKDIR /app
COPY package*.json ./
RUN npm ci --only=production
COPY . .
RUN npm run build
FROM node:20-alpine
WORKDIR /app
RUN addgroup -g 1001 -S app && adduser -S app -u 1001
COPY --from=builder --chown=app:app /app/dist ./dist
COPY --from=builder --chown=app:app /app/node_modules ./node_modules
USER app
HEALTHCHECK --interval=30s --timeout=5s \
CMD wget -q --spider http://localhost:8080/health || exit 1
EXPOSE 7777/udp 8080/tcp
CMD ["node", "dist/server.js"]
apiVersion: apps/v1
kind: Deployment
metadata:
name: game-server
spec:
replicas: 3
selector:
matchLabels:
app: game-server
template:
spec:
containers:
- name: game-server
image: game-server:latest
resources:
requests:
memory: "512Mi"
cpu: "500m"
limits:
memory: "2Gi"
cpu: "2000m"
livenessProbe:
httpGet:
path: /health
port: 8080
initialDelaySeconds: 10
readinessProbe:
httpGet:
path: /ready
port: 8080
apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: game-server
minReplicas: 3
maxReplicas: 100
metrics:
- type: Resource
resource:
name: cpu
target:
type: Utilization
averageUtilization: 70
| Error | Root Cause | Solution |
|---|---|---|
| CrashLoopBackOff | Startup crash | Check logs, config |
| OOMKilled | Memory exceeded | Increase limits |
| ImagePullBackOff | Auth failed | Check secrets |
| Pending | No resources | Scale cluster |
# Check pods
kubectl get pods -l app=game-server
# Check logs
kubectl logs -l app=game-server --tail=100
# Check events
kubectl get events --sort-by=.lastTimestamp
# Rollback
kubectl rollout undo deployment/game-server
# test-deployment.yaml
apiVersion: v1
kind: Pod
metadata:
name: deployment-test
spec:
containers:
- name: test
image: game-server:test
command: ["npm", "test"]
restartPolicy: Never
assets/ - Deployment templatesreferences/ - K8s guides