jueves, 31 de diciembre de 2020

¿Cómo creo trabajos y los administro en la terminal de Linux?

Trabajadores!

Como Conductor del Movimiento Nacional Justicialista, he dedicado este año que termina a atresar todas nuestras Organizaciones. En ello he estado acompañado por el más fiel de los corazones: el del Pueblo Argentino.

Hemos acuñado un lema que remoza un viejo cuño, y nos orienta en la labor que hemos de realizar para Grandeza de la Nación. Este lema ha sido: "Gobernar es Crear Trabajo". 

Responde a los inalienables Derechos que han alcanzan al hombre que trabaja. Hemos creado ochocientos mil puestos de trabajo bajo la esfera de dignificación que nuestro Pueblo clama y merece. Los trabajadores argentinos son la finalidad de todos mis desvelos, pero son también la causa objetiva de mi propia felicidad.

Un sistema de cómputo no dpuede sustraerse de esta realidad cardinal. Podemos decir señores, que para conducir un sistema similar a UNIX, debemos crear trabajo.

Esto es así pues GNU con Linux responde como sistema operativo multiusuario, pero también multitarea. Puede encargarse de realizar múltiples acciones, destinando a ello la potencia de su Unidad Central de Proceso, compartida entre todos sus obreros. Toda acción de cómputo que se lleve a cabo en un sistema multiusuario debe realizarse de una sola manera: ¡en Comunidad y con Organización!

Para conducir esta organización del trabajo, se hace imprescindible contar en nuestro sistema con un comando específico que nos ayuda a planificar, llamado jobs.

Conviene conocer en detalle sus particularidades ya que - como todo en la vida - el apelativo de la acción depende de quién la realiza. Nuestro sistema operativo cuenta con un núcleo Conductor, que es un Coronel y al que ustedes llamarán Kernel. Este llevará a cabo los llamados Procesos, con grupos de Tareas. [tose]. En tanto, nuestros obreros descamisados, que operan como usuarios de cómputo, contarán con los anhelados Trabajos o Jobs.

Estos trabajos pueden consistir en tres variantes: tanto la ejecución de un comando único, o de varios comandos encadenados por medio de caños o pipes, o bien la ejecución de un programa interactivo.

Pues bien señores, en particular en una terminal de Linux, bien podremos desactivar o activar todo trabajo o programa activo, mediante el uso de la combinación de teclas Ctrl+z. Al escoger este proceder, se detendrá la ejecución del trabajo, y se lo enviará a un segundo plano ("background" o "bg"), reservándole memoria al mismo, toda vez que se nos presenta nuevamente el intérprete de comandos.

Por ejemplo, si estamos usando el editor GNU Nano, y presionamos Ctrl+z, el trabajo de GNU Nano se detendrá y el sistema nos devolverá al intérprete de comandos con un mensaje similar al siguiente:

Use «fg» para volver a nano.
[1]+  Detenido            nano

Para recuperar en nuestra terminal el trabajo detenido que se encuentra en el segundo plano, debemos traerlo al frente ("fg" o "foreground"). Esto se hace con el comando fg. Se presentará el trabajo anterior en la terminal tal como lo habíamos dejado.

Si ejecutamos varios programas interactivos y los abandonamos, podríamos encontrarnos con múltiples trabajos detenidos en el segundo plano. En dicho caso, cada uno de ellos recibirá un identificador en la llamada "cola de trabajos".

La cola de trabajos es precisamente eso: una lista o tabla donde podremos observar y gestionar el número de orden de los trabajos en segundo plano. Podremos verla mediante el comando:

jobs

...a lo cual el sistema nos debería devolver la cola de trabajos que tenemos detenidos en segundo plano en nuestro sistema:

[1]   Detenido                nano
[2]-  Detenido                top

Se presentará en esta cola de trabajos el status de los mismos, y entre corchetes, en orden de detención. Si fuese necesario tener un poco más de detalles, podremos recurrir a la forma más larga y explícita de la cola de trabajos usando  jobs -l, que nos proporcionará también el identificador de trabajo y el motivo de la detención.

[1]5950 Detenido (por una señal) nano
[2]5951 Detenido (por una señal) top

Si queremos traer un trabajo a primer plano y contamos con múltiples trabajos detenidos en el segundo plano, se hará necesario especificar cuál es el que queremos traer al primer plano mediante el número de orden de detención. Por ejemplo, si quisiéramos traer top a primer plano usaríamos:

fg %2

Para eliminar los programas, se suele usar la combinación Ctrl+c. Esto detiene el programa y lo elimina de la cola de trabajos.

Indudablemente que este es un momento importante distinguir un hecho importante. Si en lugar de emplear fg para traer un trabajo al primer plano, abrimos nuevamente el mismo programa por segunda vez (en este caso podría ser Nano), no recuperaremos el primero que ya teníamos en memoria, sino que estaremos cargando una nueva instancia "desde cero" e independiente del mismo, la cual se presentará en la terminal.

El trabajador debe tener derecho a la mejora de sus aptitudes profesionales. Mejorar su conocimiento lleva un tiempo, pero le permitirá lograr mejores resultados en menor tiempo a futuro. Esto es determinante pues todo tiempo ahorrado, es tiempo ganado. La eficiencia es un factor que no se puede soslayar en ningún momento. Es útil saber, por lo tanto, que podríamos directamente colocar un trabajo en la cola de trabajos a la hora de ejecutar su comando. Para ello simplemente le agregamos el sufijo &

Por ejemplo:

xeyes &

xeyes se activará y comenzará su acción típica, mostrar un par de ojos que siguen el cursor del escritorio gráfico, independientemente de la terminal del intérprete de comandos. Si en esta situación ingresamos el comando jobs podríamos recibir:

[1]    Detenido    nano
[2]-   Detenido    mocp
[3]+   Ejecutando  xeyes &


Como vemos, el sufijo & permite hacer que el programa continúe en ejecución. Esto es diferente a la detención y pase a segundo plano con Ctrl+z.

Si usamos el comando fg %3 para activar en la terminal el programa xeyes, simplemente se nos informará con la terminal detenida. Si usamos ahora Ctrl+z, enviará a xeyes al segundo plano y detendrá su ejecución (podremos ver que los ojos están permanecen fijos en la última posición antes de detenerse la ejecución del programa). Y en la cola de trabajos, veremos que xeyes está "Detenido".

Si quisiéramos eliminar de memoria y de la cola de trabajos uno de nuestros trabajos (ya sea que esté detenido o en ejecución), podremos hacerlo mediante el comando kill % seguido del número de orden de trabajo.En este ejemplo, podríamos querer cerrar xeyes con:

kill %3

En otros casos el ejemplo contrario podría ser lo procedente. ¿Que sucede si ejecutamos en segundo plano xeyes (con xeyes &), y lo queremos continuar utilizándolo, pero quitándolo de la cola de trabajos?.

Para ello se utiliza el comando disown. Este desacopla el último programa en ejecución de la terminal. Si tenemos varios programas en la cola de trabajos, los indicamos con:

disown  %número de orden

Otros modificadores nos ayudarán en condiciones complejas. Por ejemplo, si usamos disown -a desacoplaremos todos los trabajos, en tanto que si usamos disown -r desacoplaremos todos los trabajos en ejecución.

Debemos tener en cuenta que si abandonamos nuestra terminal con trabajos en ejecución, los mismos se detendrán y se perderán. En ciertos casos, sobre todo en el caso de abandonar terminales remotas, debemos enviarle una señal SIGHUP ("colgar"), con el prefijo modificador -h.

Para ello usamos

disown -h

...para desacoplar todos los trabajos de la cola, o bien especificamos alguno con:

disown -h %número de orden

Esto provocará que al abandonar la terminal remota con el comando exit no se interrumpa la ejecución de los comandos remotos que dejamos en ella.

Tengamos también en cuenta que en lugar de disown (dependiente del intérprete de comandos Bash que dota  Ubuntu, bien podríamos utilizar el comando nohup para especificar que la señal de sistema SIGHUP ("colgar") sea ignorada por cualquier comando de Linux o UNIX por cualquier motivo (con independencia del  intérprete de comandos utilizado). Esto puede ser útil para otros entornos distintos a GNU con Linux o Ubuntu.

En consecuencia, trabajadores, sabemos que ciertos paradigmas informáticos podrían intentar confluirse en la noción de formar un esclavo de consumo.

Quien quiera liberarse sabe bien lo que tiene que hacer: combatir al capital. Los sistemas UNIX y similares a él - aunados a doctrinas de software justo, libre, y soberano - permiten operar cómputo de forma completa y comunitariamente organizada, sin depender de obsolescencias programadas o softwares "cortados a cuchillo".

lunes, 21 de diciembre de 2020

Internet para Todos a través de Prestación Básica Universal y Obligatoria

El Ente Nacional de Comunicaciones (ENACOM) aprobó por resolución la prestación básica universal y obligatoria para telefonía celular, telefonía fija, Internet y TV por cable y satelital.

Gracias a la nueva regulación, las compañías prestadoras de servicios de comunicación deberán brindar, a partir del 1 de enero de 2021 una llamada Prestación Básica Universal con tarifas reguladas. Los precios populares son muy accesibles (ver precios abajo).

Se establece así una suerte de tarifa social de Internet, celular, cable y teléfono, con un universo de hogares comprendidos.

 

Los servicios de prestacion obligatorios comprendidos por la reglamentación son tres, y están definidas para diferentes prestadoras licenciatarias:

Prestación básica de teléfono:-“Prestación Básica Universal Obligatoria” para el Servicio Básico Telefónico de línea fija.

Prestación básica de celular: -“Prestación Básica Universal Obligatoria” (PBU-SCM) para los Servicios de Comunicaciones Móviles (SCM).

Prestación básica Internet:-“Prestación Básica Universal Obligatoria” (PBU-I) para el Servicio de Valor Agregado de Acceso a Internet (SVA-INT)

Prestación básica TV Por cable:-“Prestación Básica Universal Obligatoria” (PBU-TP) para los servicios de televisión paga por suscripción mediante vínculo físico o radioeléctrico o satelital por domicilio del beneficiario y grupo familiar.

Podrán optar por adherirse a las “Prestaciones Básicas Universales y Obligatorias” (PBU) aprobadas por la Resolución, los siguientes usuarios:


  • Beneficiarios y beneficiarias de la Asignación Universal por Hijo (AUH) y la Asignación por Embarazo, como así también sus hijos-as/tenencia de entre DIECISÉIS (16) y DIECIOCHO (18) años, y miembros de su grupo familiar (padre/madre, cónyuge/conviviente).
  • Beneficiarios y beneficiarias de Pensiones no Contributivas que perciban ingresos mensuales brutos no superiores a DOS (2) Salarios Mínimos Vitales y Móviles como así también sus hijos-as/tenencia de entre DIECISÉIS (16) y DIECIOCHO (18) años.
  • Usuarios inscriptos y usuarias inscriptas en el Régimen de Monotributo Social como así también sus hijos-as/tenencia de entre DIECISÉIS (16) y DIECIOCHO (18) años.
  • Jubilados y jubiladas; pensionadas y pensionados; y trabajadores y trabajadoras en relación de dependencia que perciban una remuneración bruta menor o igual a DOS (2) Salarios Mínimos Vitales y Móviles como así también sus hijos-as/tenencia de entre DIECISÉIS (16) y DIECIOCHO (18) años.
  • Trabajadores y trabajadoras monotributistas inscriptos e inscriptas en una categoría cuyo ingreso anual mensualizado no supere DOS (2) Salarios Mínimos Vitales y Móviles como así también sus hijos-as/tenencia de entre DIECISÉIS (16) y DIECIOCHO (18) años.
  • Usuarios y usuarias que perciban seguro de desempleo como así también sus hijos-as/tenencia de entre DIECISÉIS (16) y DIECIOCHO (18) años.
  • Usuarios y usuarias incorporados e incorporadas en el Régimen Especial de Seguridad Social para Empleados de Casas Particulares (Ley N° 26.844) como así también sus hijos-as/tenencia de entre DIECISÉIS (16) y DIECIOCHO (18) años. (servicio doméstico)
  • Usuarios y usuarias que perciban una beca del programa Progresar.
  • Personas que se encuentren desocupadas o se desempeñen en la economía informal, como así también sus hijos-as/tenencia de entre DIECISÉIS (16) y DIECIOCHO (18) años.
  • Beneficiarias y beneficiarios de programas sociales, como así también sus hijos-as/tenencia de entre DIECISÉIS (16) y DIECIOCHO (18) años.
  • Clubes de Barrio y de Pueblo que se encuentren registrados conforme lo dispuesto por la Ley N° 27.098.
  • Asociaciones de Bomberos Voluntarios definidas por la Ley N° 25.054 como entes de primer grado y que se encuentren registrados en los términos de dicha Ley.
  • Entidades de Bien Público definidas por la Ley N° 27.218 como: asociaciones civiles, simples asociaciones y fundaciones que no persiguen fines de lucro en forma directa o indirecta y las organizaciones comunitarias sin fines de lucro con reconocimiento municipal que llevan adelante programas de promoción y protección de derechos o desarrollan actividades de ayuda social directa sin cobrar a los destinatarios por los servicios que prestan, debiendo estar inscriptas ante el Centro Nacional de Organizaciones de la Comunidad (CENOC).

Cómo acceder a la prestación básica universal y tarifas bajas de Internet, cable, celular y teléfono

La información sobre el precio para las “Prestaciones Básicas Universales y Obligatorias” deberán ser comunicados a los usuarios y usuarias por las Licenciatarias obligadas a través de las facturas, las páginas web institucionales y todas las redes sociales y canales mediante las cuales se comuniquen con sus clientes y/o publiciten sus servicios.

Los Prestadores obligados deberán implementar un sistema ágil y sencillo a través de todos sus canales de atención para que los usuarios y usuarias puedan optar por obtener las “Prestaciones Básicas Universal y Obligatoria” (PBU).

Los Prestadores Obligados deberán realizar y/o efectuar las instalaciones y/o habilitaciones para los servicios requeridos por los beneficiarios y beneficiarias de la presente Resolución, dentro de su área de cobertura, en un plazo que no podrá exceder el Tiempo Comprometido de Instalación (TCI) máximo dispuesto por el Reglamento de Calidad de los Servicios de TIC (Resolución N° 580/2018).

 

Siempre deberán instalar el servicio básico de Internet, cable y celular

En caso de que el prestador obligado entendiera que el usuario o usuaria solicitante no se encuentra alcanzado por la “Prestación Básica Universal Obligatoria” deberá igualmente proceder a instalar y/o habilitar el servicio. Podrá informar aquellos usuarios que no se encuentran dentro del universo de beneficiarios expresando los motivos  al ENACOM que resolverá la cuestión en un plazo que no podrá exceder de 30 días corridos.

Transcurrido ese plazo sin que este ENACOM emita una Resolución en tal sentido se considerará que el usuario o usuaria se encuentra alcanzado por la “Prestación Básica Universal Obligatoria” y el licenciatario o licenciataria deberá continuar con la prestación del servicio.

En el supuesto de que la Dirección actuante hiciere lugar al reclamo, el licenciatario o licenciataria podrá dar de baja inmediatamente al servicio y emitir el correspondiente estado de deuda a cargo del solicitante no alcanzado por la “Prestación Básica Universal Obligatoria”.

Cuando los Prestadores obligados entendieran que, por cuestiones técnicas u operativas, no pudieran cumplir con los plazos estipulados deberán notificar fehacientemente de dicha circunstancia al peticionante y al ENACOM dentro de las 72 horas de recibida la solicitud, indicando las causales del impedimento, la estrategia de contingencia y el plazo en que estarán en condiciones de proceder a la instalación y/o habilitación del servicio, el cual en ningún caso podrá exceder de los plazos dispuestos en la normativa.

Los Prestadores obligados podrán efectuar descuentos y/o promociones y/o mejores condiciones por debajo de los precios que componen las prestaciones que integran los Anexos. Los usuarios no tendrán obligación de permanencia, de modo de poder acceder a lo que sea más beneficioso.

 

Cuadro tarifario

Prestación Básica Universal Obligatoria – tarifa de telefonía celular – servicio de comunicaciones móviles (PBU-SCM)
Telefonía (PBU-SCM-T)

SCM = Prestación Básica Universal Telefonía. (PBU-SCM-T) Prepago

$150 final, incluye impuestos
Llamadas:
Minutos On Net 500
Minutos Off Net 50
SMS 500

URLs y 0800 Free
gob.ar | gov.ar| edu.ar |educ.ar |uba.ar

Hasta 30 sitios
diferentes

Plataforma de Mensajería instantánea (similar a Whatsapp) SOLO TEXTO los 30 días del mes.

 

Paquetes de DATOS de telefonía celular– 2 Opciones:

A) SCM Prestación básica Universal. Datos. (PBU-SCM-D) Prepago

$ 200 (Final) – Datos: 1 GB

B) SCM Prestación básica Universal celular Datos. (PBU-SCM-D) Prepago x DÍA – Internet por día (50 mb por día) $18 (Final)

Para adquirir cualquiera de los dos paquetes de DATOS referidos, es condición haber adherido/contratado la Prestación Básica Universal. Telefonía – (PBU-SCM-T). Incluyen impuestos.

 

Prestación Básica Universal Obligatoria. PBU-SBT – SBT. (Tarifa del Servicio Básico Telefónico)

Prestación Básica Universal. Telefonía Fija. (PBU-SBT) $380 Final, incluye impuestos
300 Minutos de llamadas locales y de larga distancia nacional, a destinos fijos de la REPÚBLICA ARGENTINA

Llamadas a números 0800 y números cortos de emergencia Libres – Llamadas entrantes Sin Límite

 

Prestación básica universal obligatoria tarifa de Internet SERVICIO DE ACCESO A INTERNET

PBU-I DESTINADA A HOGARES (Residencial) (no incluye internet satelital)
Contenido de la PBUI

1.- Prestadores con más de 50.000 accesos totales.

AMBA : 10 Mbps a $700
Resto del país: 5 Mbps $700

2. Prestadores que posean entre 2.000 y 50.000 accesos totales.

5 Mbps por $700
O el beneficiario puede optar por acceder al Plan de Menor velocidad ofrecido por la compañía con un descuento del 30% del valor.

3. Prestadores con menos de 2.000 accesos totales.

2 Mbps por $600

El ENACOM facilitará el acceso a ANR para cambio tecnológico con la finalidad de que el operador cuente con la infraestructura necesaria para brindar los 5 Mbps.

El ENACOM facilitará una instancia de diálogo con aquellos operadores con menos de 2.000 accesos que no puedan ofrecer los 2 Mbps, buscando soluciones puntuales a los casos concretos.

 

Prestación básica universal obligatoria tarifa de cable y TV satelital

Categorías PRESTACIÓN BÁSICA UNIVERSAL OBLIGATORIA (PBU-TP). Los licenciatarios de las Tecnologías de la Información y las Comunicaciones (TIC) con registro de Servicio de Radiodifusión por suscripción mediante vínculo físico o radioeléctrico y los licenciatarios de Televisión por suscripción satelital deberán garantizar como Prestación Básica Universal Obligatoria las señales que comprendan el plan de menor valor ofertado al 31 de julio de 2020, o un plan con similares prestaciones y características.

Categorías Cantidad de Abonados Porcentaje valor PBU-TP

-Categoría I Más de 500.000 30% de descuento sobre el plan de menor valor ofertado al 31
de julio de 2020 y/o aumentos posteriores que se autorizaren.

-Categoría II Entre 100.000 y 500.000 25% de descuento sobre el plan de menor valor ofertado al 31
de julio de 2020 y/o aumentos posteriores que se autorizaren.

-Categoría III Entre 30.000 y 100.000 20% de descuento sobre el plan de menor valor ofertado al 31
de julio de 2020 y/o aumentos posteriores que se autorizaren.

 

Categorías Cantidad de Abonados Porcentaje valor PBU-TP

Para los operadores de cable (SRSVFR) y los licenciatarios de comunicación audiovisual de Televisión por Suscripción por vínculo satelital (DTH) hay un descuento. En caso de que tengan una posición dominante en un área de cobertura (más del 50% de abonados) hay pautas y se regula ese descuento.

-Categoría I Más de 500.000 40% de descuento sobre el plan de menor valor ofertado al 31 de julio de 2020 y/o aumentos posteriores que se autorizaren.

-Categoría II Entre 100.000 y 500.000 35% de descuento sobre el plan de menor valor ofertado al 31 de julio de 2020 y/o aumentos posteriores que se autorizaren.

-Categoría III Entre 30.000 y 100.000 20% de descuento sobre el plan de menor valor ofertado al 31 de julio de 2020 y/o aumentos posteriores que se autorizaren.

Actualización tarifaria

Los Prestadores obligados podrán solicitar la actualización de los precios de las prestaciones aprobados por la Resolución de manera cuatrimestral, tomando como referencia las variables de ajuste aplicadas a la Asignación Universal por Hijo para Protección Social (AUH), siempre y cuando hayan cumplido con el registro y presentación de la información obligada en esta norma, según corresponda.

La actualización solicitada será evaluada junto con otros parámetros que este ENACOM considere en el marco de sus competencias de intervención fundada en razones de interés público. Los prestadores deberán informar precios y beneficiarios.

sábado, 19 de diciembre de 2020

Se anuncia el Programa Puntos Digitales

Se anunció la firma de un Acta Compromiso para la implementación a nivel municipal de los llamados Puntos Digitales. Estos son lugares públicos de acceso gratuito a internet por medio de tecnología Wifi, destinados a disminuir la brecha digital.

El Programa Punto Digital permite implementar espacios públicos y gratuitos que se sumarán a los más de 580 que funcionan actualmente en los 24 distritos del territorio nacional, constituyendo una red que brinda conectividad, equipamiento, capacitaciones, asistencia en trámites y propuesta culturales para personas de todas las edades.

La propuesta hace uso efectivo de la Red Federal de Fibra Óptica, que totalizará unos 38 kilómetros de territorio nacional en uno de los backbones de enorme ancho de banda de mayor extensión mundial.

Parte de la política que lleva adelante el Gobierno implica avanzar con la articulación de los municipios y dentro de ese programa se encuentran los puntos digitales, que son ámbitos de conectividad que apuntan a reducir la brecha digital.

Durante 2020 más de dos millones de personas participaron de actividades virtuales o recibieron asistencia presencial en algunos de estos espacios y se inauguraron 10 nuevos Puntos Digitales en diferentes rincones del país.

El contexto de Pandemia acrecienta la desigualdad digital. Es deber del Estado reforzar herramientas reconstructivas que impliquen la reducción de tal desigualdad a fin de lograr que todos los habitantes tengan las mismas posibilidades.

Se pueden encontrar los puntos digitales aquí.

 

jueves, 10 de diciembre de 2020

¿Cómo instalo el juego Cube2 Sauerbraten en Ubuntu?

Vean señores,

Donde hay una necesidad nace un derecho. Esto lo hemos proclamado muchas veces y lo hemos cumplido en la misma cantidad ya que mejor que decir, es hacer.

Una Nación sana debe saber obrar para proveerse a sí misma las infraestructuras que permitan colmar las necesidades de su Pueblo. Es indudable que la organización superior que debe responder a esto es el Estado de la Nación, quien debe velar por la adecuada implementación de políticas que den a todos lo Justo.

Pues bien señores, esta infraestructura no sale de un repollo. Responde a un concienzudo planeamiento profesional. Esta planificación no se basa nunca en las necesidades actuales, sino en la proyección futura de tal necesidad. 

Quien haya cometido la torpeza de planificar infraestructura para lo que hoy se requiere, sólo resolverá a destiempo el problema del ayer. Ni siquiera resolverá los problemas actuales y sólo agravará las problemáticas en el futuro.

Por esta razón nuestro Movimiento ha sido propenso a instituir sus propios institutos de planificación, y ha preferido la realización profesional de Planes Orgánicos de ejecución temporal. Esta es la forma de planificar, ya que cuando las problemáticas son conocidas, las acciones requeridas para darle solución pueden planificarse en forma de encadenamiento lógico, y hacerse con la mínima inversión de tiempo y medios.

En un sistema de cómputo podremos encontrarnos con filosofías de acción similares. La filosófica UNIX plantea responder a las problemáticas complejas del cómputo a través de una una serie lḉgica y definida de pasos concretos de muy sencilla resolución. La sumatoria de estas soluciones son las que provocan la Gran Solución del Problema Mayor.

Hemos de concentrar esfuerzos in mente para que nuestro software libre también debe contar como frontispicio esta máxima universal del quehacer político. Cuando ello no se sigue en la idealización de un paquete de software, podremos encontrarnos conque ya no responde a las necesidades que de él se esperaban.

Todo software libre hace disponible su código para quien lo anhele, y tiene por condición la posibilidad de irse mejorando sobre la marcha. Pero trabajar de esta manera constituye sólo es una excrecencia del proceso natural que debe buscarse. Debemos contar también con una planificación fiable para su concreción. Si no lo hacemos, el factor temporal en el desarrollo se volverá "gomoso", y nunca sabremos bien en qué terminar.

No son pocos los proyectos de Software que han enfrentado esta problemática de desarrollo. En el caso de los proyectos privativos, no es inusual que la única solución viable para terminarlos sea liberar su código.

Cube 2: Sauerbraten es un ejemplo de esto. Se trata de un juego de disparos en primera persona multijugador y para jugador único (con enemigos de inteligencia artificial, los inefables bots). Es el sucesor del Cube.

Como el Cube original, el objetivo del proyecto es establecer un juego tipo Deathmatch divertido capaz de hacer uso de estrategias cooperativas. Además, debía poder permitir la sencilla edición de los mapas con un editor provisto.

El motor gráfico utilizado es abierto bajo licencia zlib, y enteramente original en código y diseño. Es un engine 3D del estilo de Quake, rápido y que hoy en día requiere poquísimos recursos, lo que lo habilita en jugarlo incluso en netbooks. En particular lo recuerdo por el AssaultCube.

Video del juego:

Sin embargo, en su iteración original sufrió retrasos fundados básicamente por simples decisiones de diseño y lógica de la estructura lúdica. Quake hacía uso de imaginería de fantasía oscura y ligera ciencia ficción con planteos densos como propuesta para su universo temático dirigido al público masculino.

Con el poco correr del tiempo este planteo, tal vez algo inmaduro y tontorrón, terminó cayendo en desuso en el género, siendo reemplazado progresivamente por el género del tirador táctica militar, o bien planteos más aventurescos, finalmente cayendo incluso en fantasía para todas las edades y sexos.

Por tal motivo, el Cube original quedó desfasado, y su continuación, el Cube 2 con la modificación Sauerbraten representa un exponente de aquellas propuestas oscuras. Está liberado y podremos instalarlo en Ubuntu fácilmente.

Una de las características pensadas originalmente para el Cube era la utilización de un modelo cliente-servidor bajo el cual se minimizaran los efectos negativos del retraso o lag, en una era de comunicaciones lentas. Esto hace que el juego sea particularmente inmune a esta deficiencia comunicacional y pueda tornarse en ideal en ambientes donde otros juegos serían imposibles de usar o muy desventajosos.

La manera más sencilla consiste en instalarlo desde la paquetería oficial. Para ello abrimos una terminal con Ctrl+Alt+t e ingresamos los siguientes Comandos de Organización:

sudo apt update

sudo apt install sauerbraten

El sistema nos solicitará nuestra contraseña de Conductor. Una vez que la ingresemos "a ciegas" y presionemos Enter, se producirá su descarga. Para ejecutar el juego por primera vez, podremos ir a Aplicaciones / Juegos / Sauerbraten.

La primera vez que juguemos, se nos permitirá ingresar un alias para nuestro jugador.

El menú inicial es característico del los FPS. Contamos con gran variedad de estilo de juegos divididas en dos estructuras de juego principoles: la de Jugador único (con bots con inteligencia artificial regulable), o bien multijugador (tanto en red local LAN como en servidores de internet). Asimismo, podremos crear un servidor desatendido para las jugadas LAN y eventualmente de internet.

El diseño del Sauerbraten implica ciertas decisiones estéticas de diseño en boga por entonces. Entre ellas la temática oscura inspirada en Quake y otros juegos del género FPS. Esto implica gráficas de bajos polígonos, modelos de armas simplificadas, y escenarios 3D intrincados con varios niveles.

Nos encontraremos con 7 armas de estilo fantasía activables con los números del teclado o la rueda de scroll del mouse, que van desde los puños y motosierra, pasando por pistolas, escopetas, lanza-granadas, lanzacohetes.

En el caso de las partidas multijugador, podremos recomendarse especialmente para este tipo de entornos de baja velocidad. Entre las modalidades encontraremos también deathmatchs, e implementaciones de battle royale (tipo fortnite). El diseño de novísimos niveles con estética colorida implica un nuevo acercamiento a dicho estilo de juego, con la ventaja de requerir consumos y ancho de banda mucho más limitados.

Tal vez el apartado menos imaginativo sea el sonido, con efectos repetitivos y poco variados, a la vez que la música está compuesta por una insoportable banda sonora de death metal, que por suerte podemos apagar.

Para jugar en multijugador, debemos seguir la misma premisa que en otros juegos de este estilo. Vamos al menú Multiplayer y seleccionamos "update from master server". Esto actualizará la lista de servidores disponibles y las ordenará por latencia o "ping". Luego seleccionamos el Server Browner (Navegador de Servidores). 

En el podremos observar todos los disponibles, también su estilo de juego y la cantidad de jugadores conectados y la capacidad de la sala de juego. Elegimos uno (idealmente con menos de 200 de ping) y haciendo doble clic en el daremos inicio al juego.


 

Entre los modos de juego encontraremos también los típicos del género, entre los que tenemos deathmath de un tiro (y respawn), o con salud, capturar la bandera, o bien capturar las bases. Esta modalidad sigue una dinámica similar a la del viejo Battlefield 1942, capturando bases luego de un tiempo que servirán como nuevos puntos de respawn.

También podríamos instalar el servidor dedicado con:

sudo apt install sauerbraten-server

Si anhelamos descargar la última versión publicada del código fuente para jugar, podremos hacerlo. Esto es un poco más complejo que usar la versión preempaquetada, pero encontraremos versiones de battle royale similares a fortnite. Para jugarla debemos usar la terminal e instalar las librerías quereridas, por ejemplo:

sudo apt install libgl1 libsdl2-2.0-0 libsdl2-image-2.0-0 libsdl-mixer1.2 libpng16-16 libjpeg-dev zlib

Acto seguido, descargamos la última versión del código fuente, podríamos hacerlo con. Para ello abrimos una terminal e ingresamos los siguientes Comandos de Organización:

cd ~/Descargas/ ;
wget https://sourceforge.net/projects/sauerbraten/files/sauerbraten/2020_11_29/sauerbraten_2020_11_30_linux.tar.bz2 ;


El código fuente pesa aproximadamente 1 GB. Una vez finalizada la descarga, descomprimimos el código fuente con:

tar xvjf sauerbraten_2020_11_29_linux.tar.bz2 ;

mv sauerbraten/ ~/.sauerbraten

cd ~/.sauerbraten/


Y lo ejecutamos con:

./sauerbraten_unix

Si quisiéramos hacer un ejecutable para el servidor dedicado:

nano ~/sauerbraten_server.sh

y le pegamos:

#!/bin/sh
SAUER_DATA=/usr/share/games/sauerbraten
SAUER_SERV_BIN=/usr/bin/sauerbraten_server
SAUER_SERV_OPTIONS="-q${HOME}/.sauerbraten"

cd ${SAUER_DATA}
exec ${SAUER_SERV_BIN} ${SAUER_SERV_OPTIONS} "$@"


Lo guardamos con Ctrl+o y salimos con Ctrl+x

Le damos permisos de ejecución con:

chmod +x sauerbraten_server.sh

Y cuando querramos iniciar el servidor dedicado, deberíamos ejecutar:

./sauerbraten_server.sh