Start typing to search across invoices, services, domains, tickets, and more...
Un juego móvil u online para jugadores de la Gran China, el Sudeste Asiático, Japón y Corea necesita una arquitectura backend de juegos que mantenga centralizados las cuentas y los pagos, pero coloque los servidores de combate en tiempo real cerca de los jugadores: Hong Kong con CN2 GIA para China continental, Taipéi para Taiwán, Tokio y Seúl para Japón y Corea, y Singapur, Bangkok o Kuala Lumpur para el Sudeste Asiático. IMIDC ofrece servidores en todas esas ubicaciones, protección DDoS para el día del lanzamiento y un camino de crecimiento desde un VPS hasta servidores dedicados y host nodes.
Divida el backend según el estado que guarda cada capa: las capas sin estado escalan añadiendo máquinas y las capas con estado exigen una ubicación cuidadosa.
| Capa | Función | Protocolo típico | Estado | Dónde ejecutarla |
|---|---|---|---|---|
| Login / cuentas | Autenticación, login por SDK, antitrampas, callbacks de pago | HTTPS | Sin estado (respaldo en BD) | Una región principal, detrás de CDN y protección DDoS |
| Gateway | Mantiene conexiones, enruta mensajes, limita tasa | TCP / WebSocket | Solo sesión | En cada región de jugadores |
| Lobby / emparejamiento | Amigos, chat, clanes, colas | TCP / WebSocket | Ligero (Redis) | Región principal o por región |
| Sala / combate | Simulación autoritativa a 15–60 Hz | UDP (KCP) o TCP | En memoria, por partida | Lo más cerca posible de los jugadores |
| Datos | Perfiles, inventario, clasificaciones, logs | Interno | Persistente | Región principal, réplicas cercanas |
Los servidores de combate deben ser desechables: si uno cae, solo terminan sus partidas. Todo lo que posee el jugador vive en la capa de datos.
Use TCP o WebSocket para juegos por turnos, de cartas e idle, y UDP con una capa de fiabilidad como KCP para acción, shooters y MOBA en tiempo real.
| Transporte | Ideal para | Ventaja | Desventaja |
|---|---|---|---|
| TCP | Cartas, RPG, estrategia, idle | Sencillo, fiable, atraviesa firewalls | Bloqueo de cabeza de línea: un paquete perdido en redes móviles detiene todo |
| WebSocket | Juegos H5 / minijuegos, clientes web | Funciona a través de proxies y CDN | Los mismos parones que TCP y algo más de sobrecarga |
| UDP puro | Actualizaciones de posición que se pueden perder | Latencia mínima | Orden, fiabilidad y cifrado corren de su cuenta |
| KCP sobre UDP | MOBA, shooters, carreras, PvP en tiempo real | Retransmisión rápida; en redes con pérdidas suele tener bastante menos jitter que TCP | Más ancho de banda (envíos redundantes); algunas redes corporativas o universitarias bloquean UDP, así que mantenga un respaldo TCP |
Coloque los servidores de combate según dónde están físicamente los jugadores y cómo enrutan sus ISP, y verifíquelo con trazas mtr reales desde cada red objetivo.
| Mercado de jugadores | Ubicación IMIDC | Por qué |
|---|---|---|
| China continental | Hong Kong | CN2 GIA (AS4809) evita los enlaces internacionales congestionados que muchas rutas estándar usan en horas punta |
| Taiwán, Hong Kong, Macao | Taipéi, Taiwán | IP nativas locales y rutas cortas hacia los ISP taiwaneses |
| Japón | Tokio, Japón | Principal nodo de red de Japón; opción CN2 si el mismo servidor atiende también a jugadores de China |
| Corea del Sur | Seúl, Corea del Sur | Red KT e IP nativas coreanas; los jugadores coreanos notan incluso pequeñas diferencias de latencia |
| Singapur, Malasia, Indonesia, Filipinas | Singapur o Kuala Lumpur (vía ventas) | Nodo de cables submarinos del Sudeste Asiático insular |
| Tailandia, Vietnam, Camboya | Bangkok, Tailandia (vía ventas) o Hong Kong | Rutas más cortas al Sudeste Asiático continental |
Nota de cumplimiento: alojar en Hong Kong no requiere registro ICP, pero publicar un juego para jugadores de China continental está regulado por separado (por ejemplo, con la aprobación de publicación de juegos). La ubicación del servidor no cambia eso; consulte a un asesor cualificado. Esto no es asesoramiento legal.
Los búferes de socket por defecto de Linux están pensados para cargas generales; el tráfico de juego, con ráfagas, necesita búferes UDP y colas más grandes.
# /etc/sysctl.d/90-game-udp.conf (battle / room servers)
net.core.rmem_max = 26214400
net.core.wmem_max = 26214400
net.core.rmem_default = 1048576
net.core.wmem_default = 1048576
net.core.netdev_max_backlog = 50000
net.ipv4.udp_rmem_min = 16384
net.ipv4.udp_wmem_min = 16384
net.core.somaxconn = 65535
net.ipv4.ip_local_port_range = 10240 65000
fs.file-max = 2097152
# apply and verify
sysctl --system
sysctl net.core.rmem_max
# watch for dropped UDP packets during load tests
netstat -su | grep -Ei "receive buffer errors|packet receive errors"
# open the battle-server port range (ufw example)
ufw allow 7350/tcp
ufw allow 30000:30999/udp
Si receive buffer errors sigue subiendo durante una prueba de carga, el kernel descarta paquetes antes de que el servidor los lea: aumente los búferes, fije los procesos del juego a núcleos o ejecute menos salas por proceso. En los gateways TCP active BBR y suba ulimit -n para procesos con muchos sockets.
Servidores de código abierto como Nakama (cuentas, emparejamiento, chat, clasificaciones) o Colyseus (salas en Node.js) llevan a un estudio del prototipo al soft launch sin escribir cada servicio desde cero.
# docker-compose.yml - Nakama game backend + PostgreSQL (single node, staging)
services:
postgres:
image: postgres:16
environment:
POSTGRES_DB: nakama
POSTGRES_PASSWORD: change-me
volumes:
- pgdata:/var/lib/postgresql/data
healthcheck:
test: ["CMD", "pg_isready", "-U", "postgres"]
interval: 5s
retries: 10
nakama:
image: heroiclabs/nakama:3.22.0
depends_on:
postgres:
condition: service_healthy
entrypoint:
- "/bin/sh"
- "-ecx"
- >
/nakama/nakama migrate up --database.address postgres:change-me@postgres:5432/nakama &&
exec /nakama/nakama --name nakama-hk1
--database.address postgres:change-me@postgres:5432/nakama
--session.token_expiry_sec 7200 --logger.level INFO
ports:
- "7349:7349" # gRPC API
- "7350:7350" # HTTP / WebSocket API for clients
- "127.0.0.1:7351:7351" # admin console: localhost only
restart: unless-stopped
volumes:
pgdata:
# start: docker compose up -d && docker compose logs -f nakama
change-me y defina las claves de servidor y de sesión antes de cualquier prueba pública.Redis se encarga de lo caliente y efímero; la base relacional, de todo lo que un jugador reclamaría si se perdiera.
Los lanzamientos son objetivos habituales de DDoS por parte de competidores, extorsionadores o jugadores enfadados, así que planifique la protección antes de publicar la ficha en la tienda.
Escale por etapas y mueva primero a hardware mayor la capa que más sufre, normalmente la base de datos o los servidores de combate.
| Etapa | Jugadores simultáneos pico (aprox.) | Distribución sugerida |
|---|---|---|
| Prototipo / beta cerrada | Hasta ~2.000 | 1–3 VPS: Nakama/Colyseus y base de datos juntos, p. ej. un VPS Hong Kong CN2 GIA y un VPS Japón |
| Soft launch en 1–2 mercados | ~2.000–20.000 | Servidor dedicado para la base de datos, dedicado o VPS grande para combate en cada región, Redis en instancia propia |
| Lanzamiento completo en Asia | 20.000+ | Host nodes (dedicados con Proxmox VE o Kubernetes) con muchas instancias de combate, base de datos con primario y réplicas, colocation de hardware propio si hace falta |
La concurrencia por servidor varía muchísimo según el tick rate y la lógica del juego; trate estas cifras como rangos de planificación y haga pruebas de carga con bots antes de cada etapa.
Elija el producto según la capa y el mercado, en lugar de comprar el mismo tamaño en todas partes.
Un reparto habitual es poner los servidores de combate para China continental en IMIDC Hong Kong CN2 GIA y los del Sudeste Asiático en Singapur o Bangkok, con un backend de cuentas y pagos compartido. Hong Kong por sí solo puede cubrir aceptablemente parte de la región, pero pruebe con jugadores reales antes de decidir.
Los juegos por turnos, de cartas e idle funcionan bien con TCP o WebSocket. Acción en tiempo real, shooters y MOBA se benefician de UDP con una capa de fiabilidad como KCP, más un respaldo TCP para redes que bloquean UDP.
No hace falta registro ICP para servidores alojados fuera de China continental, incluido IMIDC Hong Kong. La publicación de juegos en China continental se regula por separado, así que consulte a un asesor cualificado; esto no es asesoramiento legal.
IMIDC ofrece VPS y servidores dedicados en Seúl (red KT) y en Tokio, ambos con IP nativas locales, junto con ubicaciones en Hong Kong, Taipéi y el Sudeste Asiático.
Combine la protección DDoS del proveedor con la arquitectura: oculte las IP de combate hasta que empiece la partida, exija un token en el primer paquete UDP y mantenga las API de login detrás de CDN. Avise a IMIDC de la fecha de lanzamiento para planificar capacidad y protección.
¿Prepara su lanzamiento en Asia? Empiece con un VPS Hong Kong CN2 GIA o un servidor dedicado en Seúl, contacte con ventas de IMIDC para nodos en Singapur, Bangkok y Kuala Lumpur o un plan DDoS para el lanzamiento, o abra un ticket para revisar su arquitectura con un ingeniero.