¿Qué es sampctl? + Comandos

Aprende lo que no sabes de este lenguaje y encuentra herramientas y códigos útiles.

Moderador: Ayudantes

Reglas del Foro
  • Si tu código es corto, no crees un tema nuevo para liberarlo, publica un mensaje en el tema [Funciones] ¡Publica tu código aquí!.
  • Si creas una guía, debes explicar el código claramente. Evita poner la explicación en forma de comentarios dentro del mismo y no olvides utilizar el BBCode correspondiente: [Pawn]Código aquí[/Pawn].
  • No postear códigos sin probar. Publicar códigos con errores (que impidan compilar el script para el cual está destinado) en este apartado es motivo de sanción.
  • Si tu código necesita plugins, includes u otros códigos adicionales para funcionar, debes mencionarlo en el mensaje.
  • Si has utilizado códigos de otros autores, recuerda colocar los créditos correspondientes. (El plagio es motivo de sanción).
  • Si tu aporte es para un GameMode en específico, debes publicar el tema en el apartado "Guías y Aportes para GameModes específicos".
Responder
Avatar de Usuario
Kemula
Junior
Junior
Mensajes: 207
Registrado: 25 Ago 2015 09:36
Ubicación: España.
Reputación: 14

31 Ago 2018 15:56

sampctl + comandos

sampctl es una herramienta imprescindible diría yo en todos los proyectos de SAMP. Tanto para plugins, como para gamemodes e includes. Desarrollada por Southclaws, está teniendo una gran acogida por parte de los usuarios de la comunidad inglesa.

En esta guía explicaré qué es sampctl, los pros y los contras, y explicaré sus comandos.

¿Qué es sampctl?
La herramienta descrita como la navaja suiza de SAMP, la herramienta que todo el mundo tiene que tener. A primera vista puede parecer que sampctl es un gestor de dependencias, pero sus posibilidades van mucho más allá.

Gestor de paquetes
Ten siempre las librerías que necesitas. Inspirado en npm (el gestor de paquetes de NodeJS).

Imagen

Herramientas para compilado y ejecución
No solo se limita a tener almacenados los paquetes que usas y poder actualizarlos, sino que te permite compilar tu gamemode con una versión reciente del compilador y también te permite ejecutar tanto librerías individuales sin necesidad de montar un servidor SA-MP, como un gamemode.

Imagen
Escribe fácilmente tests para librerías o ejecuta código arbitrario. ¡Utiliza el poder de Docker para funcionar en cualquier plataforma!

Imagen

Herramientas para desarrolladores
Empieza a crear rápidamente nuevos paquetes.

Imagen

Configuración del servidor SAMP - no más server.cfg
Maneja la configuración de tu servidor en los formatos JSON o YAML.

Imagen

Reinicio automático del servidor - olvida los scripts bash
Ejecuta el servidor desde sampctl y déjale encargarse de reiniciar el servidor en caso de que haya un crash.

Imagen

Instalador automático del servidor y plugins
Descarga automáticamente los archivos del servidor para Linux/Windows y los plugins cuando y donde los necesites.

Imagen

Instalación
Para instalarlo, puedes seguir los pasos que escribí en la continuación de esta guía: Aprender a usar sampctl en 10 minutos.

Ventajas y desventajas
Bueno, quiero aclarar que esto es algo totalmente subjetivo.

Ventajas:
  • Herramienta que sirve para casi todo.
  • Permite ahorrarse trabajo.
  • Mejora la calidad de desarrollo de un paquete o gamemode.
  • ¿Todo lo demás?
Desventajas:
Realmente la única desventaja que le veo es que es un poco complicado adaptarse a esta forma de trabajar si estás acostumbrado a la otra. Al principio requiere un poco de trabajo, pero es fructífero. En el momento que terminas de trasladar tu servidor a sampctl, empiezas a notar las ventajas.

Probablemente también como desventaja sea que estaba solo en inglés, lo que dificultaba a cierta parte de la comunidad hispana usar esta herramienta.

Comandos

Los comandos estarán divididos en bloques para mejorar su legibilidad.

sampctl server
  • sampctl server init -> Crea un nuevo servidor SAMP y genera los archivos de configuración necesarios basados en la entrada del usuario (es decir, según lo que nosotros seleccionemos).
  • sampctl server ensure -> La herramienta comprobará que esté todo listo para la ejecución del servidor.
  • sampctl server download -> Descargará los archivos necesarios para poder ejecutar un servidor de SAMP en el directorio actual.
  • sampctl server run -> Genera el archivo server.cfg basándose en la configuración que hay en el archivo samp.json, ejecuta el proceso del servidor y automáticamente lo reinicia si crashea.
sampctl package
  • sampctl package init -> Herramienta de ayuda que nos guía en la creación de nuestro paquete, o nos ayuda a convertir uno ya existente.
  • sampctl package ensure -> Se asegura que las dependencias (almacenadas en pawn.json/yaml) estén al día.
  • sampctl package install -> Uno de los comandos más usados. Se encarga de instalar un paquete añadiéndolo a pawn.json/yaml y descarga sus componentes. Puedes ver una lista de los paquetes de sampctl en https://packages.sampctl.com/
  • sampctl package uninstall -> Elimina un paquete de pawn.json/yaml y elimina el contenido de éste.
  • sampctl package build -> Compila un paquete definido por el archivo pawn.json/yaml (este es el comando que usaremos para compilar nuestro gamemode en el siguiente tutorial).
  • sampctl package run -> Compila y ejecuta un paquete definido por el archivo pawn.json/yaml.
--- Comandos más avanzados ---
  • sampctl package release -> Crea una nueva versión de release y marca el repositorio con el siguiente número de versión. Crea una nueva release en Github con los archivos del paquete comprimidos.
sampctl package
  • sampctl version -> Nos retorna la versión que tenemos instalada de sampctl.
  • sampctl completion -> Activa la autocompletación de parámetros para bash (Linux).
  • sampctl docs -> Muestra la documentación de sampctl.
  • sampctl help -> Muestra una lista de los comandos o ayuda específica para un comando.
Créditos
Todos los méritos para Southclaws, creador de esta herramienta y de algunas partes de este post.
A Kemula (yo) por la creación de este post, y la traducción de partes de Southclaws.
JostinEduardo
Aprendiz
Aprendiz
Mensajes: 261
Registrado: 11 Jun 2014 16:02
Ubicación: Venezuela
Contactar:
Reputación: 2

31 Ago 2018 17:43

Ahora sí, puedo aprender en 10 minutos que es sampctl teniendo esta guía sorprendente. -mfr_lol
— Tú creces, todos crecemos, estamos hechos para crecer. Tú o evolucionas o desapareces. —
Avatar de Usuario
Alfon
Baneado
Baneado
Mensajes: 693
Registrado: 17 Ene 2016 18:39
Ubicación: YOVIVOENALGUNAPARTEDEESTE INSIGNIFICANTEMUNDOLLENODE RARITOSYANORMALES PERONOPASANADACARNAL YOLOSAMO
Reputación: 24

02 Sep 2018 23:14

Se ve interesante, pero a mi me agrada así hacerlo manualmente, no me fiaré todavía de eso.


Gracias por tu aporte igual.
xTexTx
Aprendiz
Aprendiz
Mensajes: 91
Registrado: 23 Jul 2014 21:21
Reputación: 6

13 Sep 2018 12:10

Es un aporte interesante, lo he usado anteriormente y es bastante cómodo una vez que te acostumbras.
La única discrepancia que tengo es que estás presentando una herramienta para programadores en Pawnoscript, y seamos honestos, el 80% de los miembros del foro no saben programar, solo están acá para copiar y pegar los aportes de la gente que copia a FZ.
Responder