Configurar un servidor Counter-Strike: Global Offensive (CSGO) en Arch Linux

Este tutorial explica cómo configurar un servidor Counter-Strike: Global Offensive en Arch Linux.

Este tutorial asume que ha iniciado sesión con una cuenta de usuario estándar y tiene privilegios de sudo. Utilizaremos una cuenta de usuario normal porque la creación de paquetes con AUR no debe hacerse desde la cuenta raíz.

Antes de que empieces

Si está utilizando una versión de 64 bits de Arch Linux, es muy importante que tenga multilibhabilitado el repositorio. Si no está habilitado, SteamCMD no puede descargar ni ejecutar los archivos del servidor del juego. Para habilitar multilib, simplemente descomente las siguientes líneas /etc/pacman.conf.

[multilib]
Include = /etc/pacman.d/mirrorlist

Esto no se aplica a los sistemas Arch Linux de 32 bits.

Instalar SteamCMD

Hay un paquete AUR para SteamCMD. Es posiblemente la forma más fácil de instalar SteamCMD en Arch. Sin embargo, hay algunas cosas a tener en cuenta al respecto:

  • Todos los caminos relativos son relativos a /usr/share/steamcmd.
  • Para actualizar SteamCMD, debe estar en la cuenta raíz.

Si está en un servidor de 64 bits, debe instalar el paquete lib32-gcc-libs.

sudo pacman -Sy lib32-gcc-libs

Ahora debemos construir el paquete. Usando curl, descargue el tarball para el paquete.

curl -O https://aur.archlinux.org/packages/st/steamcmd/steamcmd.tar.gz

Una vez que finalice la descarga, extraiga y cambie al directorio creado.

tar -xvzf steamcmd.tar.gz
cd steamcmd

Ahora, usando makepkg, compila el paquete.

makepkg -ci

Si no pasó la -ibandera al comando makepkg, use el siguiente comando para instalarlo.

sudo pacman -U *.pkg.tar.xz

Ahora tiene SteamCMD instalado y listo para descargar el servidor Counter-Strike: Global Offensive.

Instale The Counter-Strike: Global Offensive Server

Esta guía utiliza un usuario separado para ejecutar el servidor, por lo que crearemos un nuevo usuario y grupo csgo con su propia carpeta de inicio /var/lib.

sudo groupadd csgo
sudo mkdir /var/lib/csgo
sudo useradd -d /var/lib/csgo -g csgo -s /bin/bash csgo
sudo chown csgo.csgo -R /var/lib/csgo

Ahora para instalar el servidor.

sudo -u csgo steamcmd +login anonymous +force_install_dir ~csgo/server +app_update 740 validate +quit

Una vez que finaliza la descarga, tienes el servidor instalado.

Configurando

Aunque puede ejecutar el servidor, se debe realizar alguna configuración para que el servidor no sea demasiado genérico. El archivo principal en el que ponemos la configuración es el server.cfgarchivo. Debajo hay un server.cfgarchivo muy básico .

Para abrir / crear el archivo, use su editor favorito. Yo uso vim en este ejemplo.

sudo -u csgo vim ~csgo/server/csgo/cfg/server.cfg

Agrega lo siguiente. Se pueden encontrar más configuraciones en Valve Developer Wiki. Asegúrese de cambiar algunas de las configuraciones para satisfacer sus necesidades.

hostname "Server Name"
rcon_password "password"
sv_password ""
sv_contact "[email protected]"
sv_tags ""
sv_region "255"
sv_lan "0"

exec banned_user.cfg
exec banned_ip.cfg
writeid
writeip

Ejecutando su servidor

Para ejecutar su servidor sin supervisión, necesitará un multiplexor como GNU Screen o tmux . En este artículo, voy a usar tmux para ejecutar el servidor, pero si prefieres y sabes cómo usar la pantalla, no dudes en usarla.

Instale tmux usando pacman.

sudo pacman -Sy tmux

Puede iniciar el servidor con el siguiente comando. Puede cambiar el mapa si lo desea. Lea las "Notas finales" para obtener más información sobre los valores game_typey game_mode. Este ejemplo es para un servidor casual clásico.

sudo -u csgo tmux new-session -d -s csgo-console -d 'cd /var/lib/csgo/server/; ./srcds_run -console -game csgo -usercon +game_type 0 +game_mode 0 +mapgroup mg_active +map de_dust2'

Si alguna vez necesita conectarse a la consola, ejecute lo siguiente.

sudo -u csgo tmux attach -t csgo-console

Puede dejar la consola del servidor escribiendo CTRL + B luego liberar esas llaves y luego presionando D .

Ejecutando con systemd

Ejecutar el servidor con systemd es conveniente por muchas razones. La principal es que puede hacer que se inicie cuando se inicia el VPS. Esto requiere que se escriba un script y una unidad systemd. Aunque es una buena idea, es opcional .

Lo primero que debes escribir es el script de inicio. Para crear el script, use su editor favorito. Aquí se usa vim, pero puede usar cualquier editor de texto como nano.

sudo -u csgo vim ~csgo/server/csgo.sh

Agregue lo siguiente y asegúrese de mirar la línea con el comando de inicio, ya que tiene el modo y el tipo de juego.

#!/bin/sh

USER=$2

if [ -z $2 ]; then
  USER="csgo"
fi

case "$1" in
  start)
    sudo -u $ tmux new-session -d -s csgo-console -d 'cd /var/lib/csgo/server/; /var/lib/csgo/server/srcds_run -console -game csgo -usercon +game_type 0 +game_mode 0 +mapgroup mg_active +map de_dust2'
    ;;

  stop)
    sudo -u $ tmux send-keys -t csgo-console 'say Server shutting down in 10 seconds!' C-m
    sleep 10
    sudo -u $ tmux send-keys -t csgo-console 'quit' C-m
    sleep 5
    ;;

  *)
    echo "Usage: $0  user"
esac

exit 0

Ahora necesita hacer la unidad systemd.

sudo vim /usr/lib/systemd/system/csgo.service

Agrega lo siguiente.

[Unit]
Description=Counter-Strike: Global Offensive Server (SRCDS)
After=local-fs.target network.target

[Service]
ExecStart=/var/lib/csgo/server/csgo.sh start
ExecStop=/var/lib/csgo/server/csgo.sh stop
Type=forking

[Install]
WantedBy=multi-user.target

Ahora asegúrese de que el csgo.sharchivo sea ejecutable.

sudo chmod +x ~csgo/server/csgo.sh

Después de todo eso, puede usar systemctlpara iniciar y detener el servidor. También puede usarlo para que comience en el arranque.

Para comenzar:

sudo systemctl start csgo.service

Para detener:

sudo systemctl stop csgo.service

Para reiniciar:

sudo systemctl restart csgo.service

Para habilitar en el arranque:

sudo systemctl enable csgo.service

Para deshabilitar en el arranque:

sudo systemctl disable csgo.service

Aunque systemd maneja el inicio y la detención del servidor, puede acceder a la consola con el siguiente comando.

sudo -u csgo tmux attach -t csgo-console

Notas finales

SteamCMD se instala en un área donde solo la raíz puede cambiar los archivos (vea la nota en la sección "Instalar SteamCMD"). Si alguna vez necesita actualizar SteamCMD, simplemente ejecútelo como root.

sudo steamcmd +quit

Si necesita actualizar el servidor. Primero detenga el servidor y luego use SteamCMD para actualizar (usando el mismo comando para instalar).

sudo systemctl stop csgo.service
sudo -u csgo steamcmd +login anonymous +force_install_dir ~csgo/server +app_update 740 validate +quit
sudo systemctl start csgo.service

El modo de juego y el tipo de juego en el comando de inicio son importantes dependiendo del tipo de servidor que desee. Aquí hay una tabla rápida de los posibles valores.

      Game Mode      | game_type | game_mode
Classic Casual       | 0         | 0
Classic Competitive  | 0         | 1
Arms Race            | 1         | 0
Demolition           | 1         | 1
Deathmatch           | 1         | 2

Hay muchos más temas de configuración no cubiertos en este tutorial. Si necesita más información, consulte Valve Developer Wiki.



Leave a Comment

Configurar un servidor Team Fortress 2 en Arch Linux

Configurar un servidor Team Fortress 2 en Arch Linux

Este tutorial explica cómo configurar un servidor Team Fortress 2 en Arch Linux. Supongo que ha iniciado sesión con una cuenta de usuario no root que tiene acceso a sudo

Configurar Mumble Server en Arch Linux

Configurar Mumble Server en Arch Linux

Este tutorial explica cómo configurar un servidor Mumble (Murmur) en Arch Linux. Todo lo que se hace en este tutorial se hace como usuario root. Instalación un

How to Install MariaDB 10.3 or MySQL 8.0 on Arch Linux

How to Install MariaDB 10.3 or MySQL 8.0 on Arch Linux

Prerequisites A Vultr server running up to date Arch Linux (see this article.) Sudo access: Commands required to be ran as root are prefixed by #, and one

Creación de paquetes en Arch Linux (incluido el AUR)

Creación de paquetes en Arch Linux (incluido el AUR)

En Arch Linux, los repositorios oficiales son: core, extra y community. Estos paquetes ya están compilados y se instalan a través de pacman. Para th

How To Install Nginx 1.14 On Arch Linux

How To Install Nginx 1.14 On Arch Linux

Prerequisites A Vultr server running up to date Arch Linux (see this article.) Sudo access. Commands required to be ran as root are prefixed by #. Th

How to Install Apache 2.4 on Arch Linux

How to Install Apache 2.4 on Arch Linux

Prerequisites A Vultr server running up to date Arch Linux. See this guide for more information. Sudo access. Commands required to be run as root ar

Instalación de Arch Linux en un servidor Vultr

Instalación de Arch Linux en un servidor Vultr

Vultr le proporciona la increíble funcionalidad de permitirle usar su propia imagen personalizada además de sus excelentes plantillas, lo que le permite ejecutar

Instale Arch Linux con Btrfs Snapshotting

Instale Arch Linux con Btrfs Snapshotting

Prefacio Arch Linux es una distribución de propósito general conocida por su tecnología de punta y configuración flexible. Con las instantáneas de Btrfs, podemos tomar

How to Install MongoDB 4.0 on Arch Linux

How to Install MongoDB 4.0 on Arch Linux

Prerequisites A Vultr server running up to date Arch Linux (see this article) Sudo access: Commands required to be ran as root are prefixed by #, and one

How to Install PHP 7.3 on an Arch Linux Webserver

How to Install PHP 7.3 on an Arch Linux Webserver

Prerequisites A Vultr server running up to date Arch Linux (see this article.) A running webserver, either Apache or Nginx Sudo access. Commands require

How To Install PostgreSQL 11.1 On Arch Linux

How To Install PostgreSQL 11.1 On Arch Linux

Prerequisites A Vultr server running up to date Arch Linux (see this article.) Sudo access. Commands required to be ran as root are prefixed by #, and one

How to Use HTTPS on Arch Linux Webserver

How to Use HTTPS on Arch Linux Webserver

Prerequisites A Vultr server running up to date Arch Linux (see this article.) A running webserver, either Apache or Nginx Sudo access Commands required t

Configurar el servidor Spigot en Arch Linux

Configurar el servidor Spigot en Arch Linux

Este tutorial explica cómo configurar un servidor de Minecraft usando Spigot en Arch Linux. Este tutorial asume que usted es un usuario normal (no root) y tiene

How To Install Python 3.7 On An Arch Linux Webserver

How To Install Python 3.7 On An Arch Linux Webserver

Prerequisites A Vultr server running up to date Arch Linux (see this article.) A running webserver, either Apache or Nginx Sudo access: Commands require

Installing 2019 Arch Linux on a Vultr Server

Installing 2019 Arch Linux on a Vultr Server

Introduction Arch Linux has a smaller, but still strong, following than more popular distributions. Its philosophy is quite different, with advantages an

Usando Devtools en Arch Linux

Usando Devtools en Arch Linux

El paquete Devtools se creó originalmente para usuarios de confianza para crear correctamente paquetes para los repositorios oficiales. Sin embargo, puede ser utilizado por usuarios comunes

Usando Makepkg en Arch Linux

Usando Makepkg en Arch Linux

Si usa makepkg directamente, contamina un poco su sistema. El grupo de paquetes base-devel debe estar instalado. De esta manera, por defecto, las dependencias se necesitan solo

How to Install Perl 5.28 on an Arch Linux Webserver

How to Install Perl 5.28 on an Arch Linux Webserver

Prerequisites A Vultr server running up to date Arch Linux (see this article.) A running webserver, either Apache or Nginx Sudo access: Commands require

¿Puede la IA luchar con un número cada vez mayor de ataques de ransomware?

¿Puede la IA luchar con un número cada vez mayor de ataques de ransomware?

Los ataques de ransomware van en aumento, pero ¿puede la IA ayudar a lidiar con el último virus informático? ¿Es la IA la respuesta? Lea aquí, sepa que la IA es una bendición o una perdición

ReactOS: ¿Es este el futuro de Windows?

ReactOS: ¿Es este el futuro de Windows?

ReactOS, un sistema operativo de código abierto y gratuito, está aquí con la última versión. ¿Puede satisfacer las necesidades de los usuarios de Windows de hoy en día y acabar con Microsoft? Averigüemos más sobre este estilo antiguo, pero una experiencia de sistema operativo más nueva.

Manténgase conectado a través de la aplicación de escritorio WhatsApp 24 * 7

Manténgase conectado a través de la aplicación de escritorio WhatsApp 24 * 7

Whatsapp finalmente lanzó la aplicación de escritorio para usuarios de Mac y Windows. Ahora puede acceder a Whatsapp desde Windows o Mac fácilmente. Disponible para Windows 8+ y Mac OS 10.9+

¿Cómo puede la IA llevar la automatización de procesos al siguiente nivel?

¿Cómo puede la IA llevar la automatización de procesos al siguiente nivel?

Lea esto para saber cómo la Inteligencia Artificial se está volviendo popular entre las empresas de pequeña escala y cómo está aumentando las probabilidades de hacerlas crecer y dar ventaja a sus competidores.

La actualización complementaria de macOS Catalina 10.15.4 está causando más problemas que resolver

La actualización complementaria de macOS Catalina 10.15.4 está causando más problemas que resolver

Recientemente, Apple lanzó macOS Catalina 10.15.4, una actualización complementaria para solucionar problemas, pero parece que la actualización está causando más problemas que conducen al bloqueo de las máquinas Mac. Lee este artículo para obtener más información

13 Herramientas comerciales de extracción de datos de Big Data

13 Herramientas comerciales de extracción de datos de Big Data

13 Herramientas comerciales de extracción de datos de Big Data

¿Qué es un sistema de archivos de diario y cómo funciona?

¿Qué es un sistema de archivos de diario y cómo funciona?

Nuestra computadora almacena todos los datos de una manera organizada conocida como sistema de archivos de diario. Es un método eficiente que permite a la computadora buscar y mostrar archivos tan pronto como presiona buscar.

Singularidad tecnológica: ¿un futuro lejano de la civilización humana?

Singularidad tecnológica: ¿un futuro lejano de la civilización humana?

A medida que la ciencia evoluciona a un ritmo rápido, asumiendo muchos de nuestros esfuerzos, también aumentan los riesgos de someternos a una singularidad inexplicable. Lea, lo que la singularidad podría significar para nosotros.

Una mirada a 26 técnicas analíticas de Big Data: Parte 1

Una mirada a 26 técnicas analíticas de Big Data: Parte 1

Una mirada a 26 técnicas analíticas de Big Data: Parte 1

El impacto de la inteligencia artificial en la atención médica 2021

El impacto de la inteligencia artificial en la atención médica 2021

La IA en la salud ha dado grandes pasos desde las últimas décadas. Por tanto, el futuro de la IA en el sector sanitario sigue creciendo día a día.