Servidores y comunidad

Instalar un mapa en un servidor de GMod: FastDL o Workshop

Instalar un mapa en un servidor de GMod: sube el archivo a garrysmod/maps, define el mapa inicial y repártelo por FastDL o Workshop. Con solución de errores.

Para instalar un mapa, colocas el .bsp en garrysmod/maps en el servidor y lo defines como mapa inicial o lo cargas con changelevel. Para poder entrar, los jugadores necesitan el mismo archivo. Lo mejor es que lo reciban por FastDL o por Steam Workshop, porque la descarga directa desde el servidor de juego es muy lenta.

Paso 1: sube el mapa al servidor

  1. Sube el .bsp a garrysmod/maps/ por FTP o SFTP. Usa solo minúsculas en el nombre del archivo. Los servidores Linux distinguen entre mayúsculas y minúsculas.
  2. Si el mapa lleva más archivos, van en las carpetas correspondientes. Un .nav también va en garrysmod/maps/; el contenido suelto va en materials, models o sound. Si el contenido está empaquetado en el BSP, puedes saltarte este paso.
  3. Define el mapa como mapa inicial. En la línea de arranque del servidor lo haces con +map rp_example, y el modo de juego con +gamemode darkrp. Muchos proveedores de hosting ofrecen un campo para esto en su panel web.
  4. Con el servidor en marcha cambias de mapa con changelevel rp_example en la consola del servidor o por RCON. El comando maps * lista todos los mapas que encuentra el servidor.

Si el servidor arranca con otro mapa o no arranca, la causa es casi siempre el nombre o la ubicación: una errata, mayúsculas o la carpeta equivocada. En el parámetro de arranque, el nombre del mapa va sin la extensión .bsp.

Paso 2: cómo reciben el mapa los jugadores

Cada cliente necesita el BSP en local. Hay tres vías.

Descarga directa desde el servidor de juego

Con sv_allowdownload 1, el propio servidor de juego envía el archivo al cliente. Funciona sin configurar nada más, pero la velocidad está muy limitada. Además, net_maxfilesize limita el tamaño del archivo, a 16 MB por defecto. Subir el valor no acelera la transferencia. Para los mapas de RP actuales, esta vía es solo un último recurso.

FastDL a través de un servidor web

Con FastDL, los clientes descargan los archivos por HTTP desde un espacio web. La dirección se indica en server.cfg:

sv_downloadurl "http://fastdl.example.com/garrysmod/"

Esta única variable activa FastDL. sv_allowdownload solo controla la descarga directa desde el servidor de juego. El espacio web reproduce la estructura de carpetas del servidor. Así que el mapa tiene que estar accesible en .../garrysmod/maps/rp_example.bsp. De forma opcional, puedes poner al lado una versión comprimida con bzip2 como rp_example.bsp.bz2. El cliente pide primero el archivo comprimido y lo descomprime él mismo, lo que acorta bastante la descarga, salvo que el propio BSP ya esté comprimido.

Prueba la dirección en un navegador. Si el archivo no carga ahí, tampoco cargará en el juego.

Steam Workshop

Si el mapa existe como addon de Workshop, Steam se encarga de la distribución. El servidor carga sus addons mediante una colección que indicas en la línea de arranque:

+host_workshop_collection 1234567890

Si el mapa en marcha procede de esta colección, el servidor lo marca por sí solo para que los clientes lo descarguen. Para otros addons de Workshop con contenido, por ejemplo un pack de texturas, escribes el ID del addon en un archivo Lua del lado del servidor, por ejemplo garrysmod/lua/autorun/server/workshop.lua:

resource.AddWorkshop("9876543210")

El número es el ID que aparece en la dirección del elemento de Workshop concreto, no el ID de la colección.

Ventajas e inconvenientes, comparados

VíaVelocidadEsfuerzoVentajasInconvenientes
Descarga directamuy lentaningunofunciona al instantelímite de tamaño, espera larga, carga el servidor de juego
FastDLrápidaespacio web y mantenimientocontrol total sobre los archivos, no hace falta publicarlo en ningún sitiohay que mantener los archivos por duplicado en cada actualización
Workshoprápidapocoactualizaciones y distribución a través de Steam, sin espacio web propioel mapa tiene que estar en Workshop, ojo con la visibilidad y la licencia

Muchos servidores combinan las dos: Workshop para los addons de libre acceso y FastDL para los archivos que no deben estar en Workshop.

Errores típicos y sus causas

"Missing map 'maps/rp_example.bsp', disconnecting": El cliente no tiene el mapa y no ha podido descargarlo. Comprueba por orden:

  • Sin FastDL ni Workshop: ¿está sv_allowdownload en 1?
  • ¿Es correcta sv_downloadurl, y está el archivo ahí, en la subcarpeta maps?
  • ¿Está el .bz2 actualizado y no está dañado?
  • ¿Ha desactivado el jugador las descargas? El ajuste correspondiente es cl_downloadfilter.

"Your map [maps/rp_example.bsp] differs from the server's": El cliente y el servidor tienen archivos distintos con el mismo nombre. El jugador borra la copia antigua de garrysmod/maps o garrysmod/download/maps y vuelve a conectarse. Como propietario lo evitas dando a cada versión del mapa su propio nombre de archivo y actualizando siempre FastDL y el servidor a la vez. El .bz2 se olvida con facilidad.

El mapa carga pero faltan texturas: Entonces falta contenido que no está dentro del BSP, o un juego necesario. Tienes ayuda en solucionar texturas faltantes y modelos ERROR. A los mappers les vendrá bien empaquetar contenido custom en un BSP.

Mapas comprados y protegidos: ojo con la licencia

Cuando compras un mapa, normalmente adquieres el derecho a usarlo en tu propio servidor, no el derecho a difundir el archivo públicamente. Subirlo a Workshop en público pone el mapa a libre disposición de todo el mundo y, por eso, normalmente no está permitido. Lee las condiciones de la licencia antes de elegir una vía de distribución y, en caso de duda, pregunta al mapper. FastDL para los jugadores de tu propio servidor es la vía habitual. Lo básico está en comprar mapas de GMod con seguridad.

En los mapas con Server-Exclusive, el reparto ya viene definido. Solo se distribuye el BSP protegido del paquete; todos los demás archivos se quedan en privado en el servidor con licencia. Cómo funciona el principio y dónde están sus límites lo explica Mapas Server-Exclusive.

Preguntas frecuentes

¿Tengo que añadir también el mapa con resource.AddFile?

No. El servidor ofrece por sí solo a los clientes la descarga del mapa que está en marcha. resource.AddFile solo te hace falta para el contenido suelto que no está empaquetado en el BSP.

FastDL o Workshop: ¿cuál es mejor?

Para los mapas de libre acceso, Workshop es lo más cómodo, porque Steam se encarga de la distribución y de las actualizaciones. Para los mapas que no deben o no pueden ser públicos, FastDL es la opción adecuada. Las dos vías son más o menos igual de rápidas para los jugadores.

¿Dónde guarda GMod los mapas descargados?

Los mapas que llegan desde el servidor o por FastDL se guardan en el lado del jugador en garrysmod/download/maps. El contenido de Workshop lo gestiona Steam por separado.

¿Por qué los jugadores descargan despacio aunque haya FastDL?

Normalmente el cliente no encuentra el archivo en la dirección indicada. Según la configuración del servidor, lo obtiene entonces por la lenta descarga directa o no lo obtiene. Revisa cómo está escrita sv_downloadurl, la barra final y la estructura de carpetas, y abre el archivo en un navegador para probar.