Servidores y comunidad

Subir un mapa de GMod a Steam Workshop: paso a paso

Subir un mapa de GMod a Workshop: crea una carpeta con addon.json, genera el .gma con gmad.exe y publícalo con gmpublish.exe. Con los errores más comunes.

Publicas un mapa de GMod en tres pasos: creas una carpeta con un addon.json y el BSP en maps/, generas a partir de ella un archivo .gma con gmad.exe y lo subes con gmpublish.exe junto con un icono de 512 × 512 píxeles. El elemento nuevo está oculto al principio y solo se hace visible cuando lo pones como público en su página de Workshop. Si la subida falla, la causa suele ser un archivo que no está en la whitelist, el addon.json o el icono.

Decide primero: Workshop o venta

Un elemento público de Workshop es gratuito y está disponible para todo el mundo. Eso no se puede deshacer limpiamente: según el Acuerdo de Suscriptor a Steam, retirar el elemento más adelante no afecta a los derechos de los usuarios que ya han obtenido una copia. Por eso, un mapa que quieres vender no debe estar antes en Workshop. A la inversa, Workshop es la vía más cómoda para todo lo que deba estar disponible libremente, porque Steam se encarga de la distribución y de las actualizaciones. Los pros y los contras desde el punto de vista de un servidor están en mapa propio o mapa de Workshop, y el camino hacia la venta, en vender mapas de GMod.

Estructura de carpetas y addon.json

Técnicamente, un addon de Workshop es un único archivo .gma: un paquete creado a partir de una carpeta organizada como garrysmod/. El nombre de la carpeta no importa. Para un mapa tiene este aspecto:

rp_harbourtown/
  addon.json
  maps/rp_harbourtown_v2.bsp
  maps/rp_harbourtown_v2.nav
  maps/graphs/rp_harbourtown_v2.ain
  maps/thumb/rp_harbourtown_v2.png
  materials/...
  models/...
  sound/...

Solo necesitas materials/, models/ y sound/ para el contenido que no está dentro del BSP. Normalmente es más sencillo empaquetarlo todo, consulta empaquetar contenido custom en el BSP. La imagen de maps/thumb/ aparece en la selección de mapas del juego. Las miniaturas que vienen con GMod son archivos PNG de 128 × 128 píxeles.

El addon.json describe el addon:

{
	"title": "rp_harbourtown",
	"type": "map",
	"tags": [ "roleplay", "scenic" ],
	"ignore": [ "*.vmf", "*.psd" ]
}
CampoValores permitidos
titleNombre del addon, a ser posible solo con caracteres ASCII
typeuno de gamemode, map, weapon, vehicle, npc, entity, tool, effects, model, ServerContent
tagscomo máximo dos de fun, roleplay, scenic, movie, realism, cartoon, water, comic, build
ignorePatrones de archivos que no deben entrar en el paquete

Generar el .gma con gmad.exe

gmad.exe y gmpublish.exe están en la carpeta GarrysMod/bin de la instalación del juego. La wiki de GMod advierte contra mover gmad a otro sitio.

gmad.exe create -folder "C:\maps\rp_harbourtown" -out "C:\maps\rp_harbourtown.gma"

gmad comprueba cada archivo contra una whitelist y aborta con File list verification failed si alguno no la pasa. En maps/ solo se permiten .bsp, .nav, .ain, .lmp y archivos PNG en maps/thumb/, además de los formatos habituales de materiales, modelos, sonidos y Lua. Con la opción -warninvalid, gmad se salta los archivos no válidos en lugar de abortar.

MensajeCausa
[Not allowed by whitelist]Tipo de archivo o carpeta no permitidos, por ejemplo .vmf, .txt en maps/ o scripts/ (excepto scripts/vehicles/), en modelos .sw.vtx
[Filename contains captial letters]Mayúsculas en la ruta. gmad genera el archivo igualmente, pero renómbralo
addon.json error: Couldn't find fileFalta addon.json en la carpeta
Couldn't parse jsonError de sintaxis en el addon.json, como una coma que falta
type isn't a supported type!el valor de type no está en la lista
too many tags - specify 2 only!más de dos tags

La whitelist tiene una consecuencia importante para los mappers: los scripts de soundscapes (scripts/soundscapes_<mapname>.txt) y un manifiesto de partículas (maps/<mapname>_particles.txt) no se pueden incluir como archivos sueltos. La salida habitual es empaquetarlos en el BSP. En el caso de los soundscapes, eso está documentado en la Valve Developer Community. Después de empaquetar, comprueba en el juego que los sonidos y las partículas cargan de verdad.

Publicar con gmpublish.exe

El comando para crear un elemento nuevo es:

gmpublish.exe create -icon "C:\maps\rp_harbourtown.jpg" -addon "C:\maps\rp_harbourtown.gma"
  1. Prepara el icono. Tiene que ser un JPEG de exactamente 512 × 512 píxeles, guardado como JPEG baseline (no progresivo) y de menos de 1 MB. La wiki menciona además un submuestreo de croma de 4:2:0. PNG no funciona.
  2. Abre Steam e inicia sesión con la cuenta que deba ser la propietaria del elemento. gmpublish funciona a través del cliente de Steam en ejecución.
  3. Ejecuta el comando. Si todavía no has aceptado el acuerdo de Workshop de Steam, gmpublish aborta y muestra la dirección para hacerlo. Si todo va bien, la salida contiene Success! Your new item ID is seguido del ID. Apúntalo.
  4. Rellena la página. gmpublish informa de que el elemento nuevo está marcado como oculto. Ábrelo en Workshop y añade una descripción y capturas de pantalla.
  5. Ajusta la visibilidad. Solo entonces haces público el elemento.

Steam tiene cuatro niveles de visibilidad: público, solo amigos, oculto (solo para ti) y no listado. «No listado» significa que cualquiera que tenga el enlace puede ver el elemento, pero que no aparece en ninguna búsqueda. Cómo carga un servidor los addons de Workshop y los pasa a los jugadores se explica en FastDL o Workshop.

Actualizaciones y notas de cambios

gmpublish.exe list
gmpublish.exe update -id 1234567890 -addon "C:\maps\rp_harbourtown.gma" -changes "v3: fixed spawn in town hall"
gmpublish.exe update -id 1234567890 -icon "C:\maps\rp_harbourtown.jpg"

list muestra los elementos que has subido. El ID también está en la dirección de la página de Workshop, después de ?id=. -changes es opcional, y puedes editar la nota más adelante en la página de Workshop, en la pestaña «Change Notes». Escríbela solo con caracteres ASCII, es decir, sin diéresis ni tildes. Según la wiki, de lo contrario la subida se completa pero falta la nota. Según la wiki, el título, la descripción y las imágenes se cambian en la página de Workshop.

Publica las versiones nuevas como actualización de este elemento y no como elemento nuevo. Así lo recomiendan las normas de Workshop para GMod. Los servidores comprueban al reiniciarse si sus addons tienen actualizaciones. Hasta entonces sigue funcionando allí el BSP antiguo, y según la wiki de GMod eso puede impedir que los jugadores entren. Por qué una versión nueva debería recibir también un nombre de archivo nuevo se explica en nombres y versiones de mapas.

Contenido de terceros: qué dicen las normas

Esto no es asesoramiento jurídico, sino un resumen de lo que establecen las normas.

  • En el Acuerdo de Suscriptor a Steam declaras que has creado tú mismo una contribución de Workshop o que puedes enviarla en nombre de todos los implicados, y que tienes los derechos necesarios sobre el contenido.
  • La wiki de GMod lo dice de forma más directa: no subas addons que no hayas hecho tú, ni siquiera versiones arregladas, salvo que el autor esté de acuerdo. Las resubidas se eliminan, aunque el original ya no exista.
  • Según las normas de Workshop, los addons con contenido de juegos de pago como Counter-Strike: Source o Half-Life 2 se eliminan, aunque tu addon necesite esos props para funcionar. Así que no empaquetes esos archivos en el BSP.
  • Tampoco están permitidos los elementos vacíos y los elementos de prueba, los addons que exigen una descarga externa y los addons que restringen su uso a determinados servidores.

Según el Acuerdo de Suscriptor, Valve puede restringir o eliminar contribuciones por cualquier motivo. Quién tiene los derechos sobre qué partes de un mapa se aclara en el artículo sobre los fundamentos de los derechos de autor en mapas de GMod.

Preguntas frecuentes

¿Cómo incluyo un script de TTT si no se permiten .txt en maps/?

A través de data_static/. TTT busca el script de armas y spawns primero en maps/<mapname>_ttt.txt y después en data_static/<mapname>_ttt.txt. La whitelist permite .txt, .json, .xml, .csv y .dat en esa carpeta.

¿Puedo volver a borrar un elemento de Workshop?

Sí, en la página de Workshop, y no se puede deshacer. No recupera las copias que los suscriptores ya tienen.

¿Basta con «no listado» para dar un mapa solo a mi servidor?

No. Cualquiera que tenga el enlace puede suscribirse al elemento, y cada jugador que entra recibe el archivo de todos modos. Para los mapas que no deben ser públicos, FastDL es la vía habitual.

¿Qué tamaño puede tener un addon?

Las normas de Workshop mencionan un límite de unos 4 GB y desaconsejan dividir un addon en varias partes. Si la subida indica «Compression Failed», el addon es demasiado grande según la wiki. Usar texturas más pequeñas es el primer recurso, consulta reducir el tamaño de un archivo BSP.