Documentación

Introducción

Clawdrop es el CLI (Interfaz de Línea de Comandos) oficial de Raccreative Games.

¡Te permite subir builds de tus juegos y crear posts (como notas de cambios) en un abrir y cerrar de ojos!

Clawdrop está hecho en Rust, y es open source (MIT):

En esta guía descubrirás cómo instalar y usar Clawdrop, y una lista detallada de los comandos y qué es lo que hacen.


Instalación

Para instalar clawdrop, simplemente descarga la última versión para tu sistema bajo las releases del repo

Clawdrop está disponible en Windows, Mac y Linux. Puedes actualizar manualmente una vez instalado usando clawdrop upgrade

Configuración del PATH

Para poder usar clawdrop desde cualquier terminal y carpeta, puedes añadir la ruta de clawdrop al PATH environment. De lo contrario, tendrás que usar clawdrop como: mi/ruta/clawdrop [comando]

Windows:

Para añadir clawdrop al PATH en Windows, debes añadir el path actual de tu clawdrop.exe a PATH, puedes ver dónde está tu clawdrop.exe lanzando el comando clawdrop whereis

Puedes seguir este tutorial para añadir PATH a Windows.

Linux

En linux, simplemente debes mover clawdrop a /usr/local/bin, ya que ese directorio está en PATH por defecto:
tar -xvzf clawdrop-x86_64-unknown-linux-gnu.tar.gz
sudo mv clawdrop /usr/local/bin/


Mac

Similar a Linux, tras descomprimir, simplemente mueve clawdrop a /usr/local/bin:
sudo mv clawdrop /usr/local/bin/

Revisar que todo está bien

Una vez instalado, puedes lanzar clawdrop help para ver todos los comandos disponibles y revisar que funciona correctamente.

Nota: puedes usar clawdrop whereis para mostrar dónde está el ejecutable en tu sistema.


Actualizaciones

Clawdrop puede actualizarse manualmente usando dos métodos:
  • Simplemente descargando una nueva versión de la página de descargas y sobreescribir el archivo antiguo
  • Usando clawdrop upgrade y actualizar directamente via comando
La segunda opción ofrece una forma más rápida y sencilla para actualizar clawdrop. Además de eso, Clawdrop chequeará automáticamente por actualizaciones cada vez que lances un comando importante, notificando al usuario.


Autenticación

Para poder utilizar la mayoría de comandos, necesitarás concederle a Clawdrop acceso a tu cuenta de Raccreative Games. Para hacer esto, lanza clawdrop auth, este comando abrirá una nueva url donde podrás generar una nueva API Key y conceder acceso. Clawdrop auth browser window

Podrás administrar tus API Keys bajo la sección avanzada de ajustes de usuario.

Si tu CLI de Clawdrop no está autorizado, imprimirá un error cada vez que intentes lanzar un comando que requiera autorización.

Una vez este paso esté terminado, la API Key se guardará localmente hasta que expire o se elimine manualmente usando clawdrop logout

Puedes usar la flag --key para especificar una API Key existente al lanzar el comando auth, en lugar de generar una nueva.


Configurar un juego como target

Clawdrop ofrece la posibilidad de configurar un juego como target activo, de esta forma cada comando se lanzará sobre ese juego.

Para añadir un juego como target, simplemente usa clawdrop set [id-del-juego o url-slug-del-juego]

Si no sabes el id o el slug de tu juego, puedes usar clawdrop list para mostrar una lista de todos los juegos a los que estás autorizado para subir builds, ahí podrás ver el ID y otra información útil sobre el juego.

Clawdrop list view Puedes quitar un juego del target usando clawdrop unset

Si no quieres configurar un juego como target, simplemente puedes especificar el ID del juego cada vez que uses un comando usando la flag --id


Subir builds

El comando principal de Clawdrop que se usará para subir builds es: clawdrop push

sintaxis:

Tienes varias formas de usar clawdrop push, pero hay un atajo de uso rápido:
clawdrop push id:os/exe:version
  • id: El id del juego que quieres subir. Opcional si ya tienes un juego configurado como target activo (Si no sabes el id de tu juego, puedes usar clawdrop list para una lista de tus juegos e información)
  • os: El sistema operativo del juego que estás subiendo. Los valores son "windows", "linux", "mac" o "html"
  • exe: El nombre del archivo ejecutable del juego, necesario para construir el manifest.json. Ejemplo "juego.exe"
  • version: La nueva versión de la build que estás subiendo, ejemplo: 1.2.0. Opcional, subirá la versión del target configurado automáticamente si existe (puedes evitarlo usando --no-bump). Si no hay versión especificada, se usará 0.0.1.
Ejemplo completo: clawdrop push 42:windows/myGame.exe:1.5.4

Además de eso, puedes omitir el atajo y usar los parámetros comunes --id, --os, --version y --exe. El atajo y los parámetros pueden usarse conjuntamente

Para especificar la ruta de la build puedes usar --path, usará la carpeta actual si no se especifica path.

Puedes subir builds nuevas de cualquier sistema si no existe (por ejemplo una primera versión de Linux) Clawdrop upload exampleQué hace:

Clawdrop subirá por defecto solo los archivos que hayan cambiado o sean nuevos, y eleminará aquellos que sean obsoletos en nuevas versiones. En otras palabras, creará una subida diferencial.

Por ahora, solo sube los archivos nuevos y los que han cambiado, pero los sube por completo, no hay delta patching disponible todavía, ¡pero lo implementaremos también en el futuro con otro repositorio open source!

Si simplemente quieres subir todo, puedes usar --force, esto subirá todos los contenidos de la carpeta actual o la ruta especificada, excepto los archivos listados en --ignore que se explicará más abajo.

ignorando archivos:

Puedes usar el parámetro --ignore para especificar archivos que no deban subirse y ser ignorados durante todo el proceso.

Ejemplo --ignore '.json' esto ignorará todos los archivos json que estén en la carpeta.

También puedes ignorar carpetas de la misma forma usando --ignore 'folder/'


Crear posts de juegos

Los posts de juegos se pueden crear desde Clawdrop. Esto puede ser útil si planeas generar notas de cambios para tus fans o algunos anuncios, y automatizarlos después de pushear una build.

El comando de ejemplo es clawdrop post --id 42 --title 'Notas de cambios 1.0.3' --body 'texto o ./body.txt' --cover './imagen.png' --slug 'notas-cambios-1-0-3'

  • id: Id del juego, si no conoces el ID de tu juego, puedes usar clawdrop list para mostrar una lista de tus juegos autorizados
  • title: El título del post
  • body: El texto del post, puede proporcionarse como texto plano o como ruta a un archivo de texto
  • cover: El archivo de imagen que hará de carátula del post (opcional), debe ser una ruta de un archivo de imagen
  • slug: El slug url del post (opcional)
Esto creará un nuevo post que será visible inmediatamente para todo el mundo


Doctor

Doctor es un pequeño comando que hará un breve diagnóstico del entorno de desarrollo, chequeando: clawdrop doctor
  • Conexión a internet
  • Si el usuario está autorizado
  • Tiene permisos de escritura
  • Si existe target o no
Puede ser usado como pipeline de seguridad, ya que fallará y saldrá del proceso si algún error se lanza relacionado con la conexión a internet, autorización, o permisos de escritura. Clawdrop doctor example