ARTDEPARTMENT

Solicitar una consulta

Este 'gamer' ha convertido su juego favorito en un servidor web. Quién necesita Apache teniendo 'Portal 2'

Publicado el 
mayo 27, 2025

Cuando pensamos en servidores web, lo zaguero que nos viene a la mente es un videojuego. Menos aún, uno animado en 2011, diseñado para resolver acertijos con portales y cubos. Sin confiscación, eso es exactamente lo que ha conseguido el esquema HTTPortal: variar Portal 2 en un servidor web práctico que alega a peticiones HTTP de los navegadores y les proporciona paso a páginas web... ¡a cojín de cubos adentro del recreo!

Dicho esquema aprovecha una curiosa característica del motor Source (usado tanto por 'Portal 2' como por éxitos como 'Half-Life'): una opción de consola para desarrolladores que abre un puerto TCP y permite admitir comandos externos. Lo demás es pura encanto (y mucho scripting), que permite al recreo no solo difundir portales de teleportación… sino asimismo difundir portales web.

¿Cómo es posible esto?

Cuando visitas una página web, tu navegador se comunica con un servidor usando un estilo llamado HTTP. Este protocolo funciona sobre una red TCP, que es como un sistema de correo que garantiza que los datos lleguen completos y en orden. La mayoría de los videojuegos (incluyendo Portal 2) usan otro sistema más rápido pero menos confiable llamado UDP. Por eso, lo primero es encontrar una forma de usar TCP adentro del recreo.

Y, para ello, el motor Source tiene una opción oculta: '-netconport 3000'. Si la activas al difundir el recreo, Portal 2 abrirá un servidor TCP en el puerto 3000. Este servidor no está diseñado para páginas web… pero sí recibe texto.

Así que el navegador envía comandos HTTP como 'GET /index.html', y Portal 2 los recibe… como si fueran comandos de consola. Y ahí reside el truco.

Han creado una CPU completa dentro de una hoja de cálculo de Excel. Hasta te permite ejecutar tus propios programas

Pero, ¿cómo alega Portal 2 a un navegador? Al principio, el recreo recibe los comandos pero no sabe qué hacer con ellos. Usa el comando 'mote' para asegurar: “cuando recibas GET, alega con este texto”. Y ese texto puede ser el código de una página HTML.

Aquí es donde entra en recreo VScript, el estilo interno de los eventos de 'Portal 2': usando scripts y trucos como la biblioteca ppmod, puedes imprimir una respuesta HTTP completa en la consola, que el navegador interpreta como una página web.

Construyendo páginas web… ¡con cubos!

Una de las ideas más ingeniosas del esquema es el uso del entorno del recreo para representar la estructura de una página HTML. Así, cada cubo representa una inscripción, texto o estilo.

Con algunos comandos especiales puedes construir un sitio completo directamente en el mundo del recreo:

  • script newElement(H1) crea una inscripción
  • script newElement(-H1) cierra esa inscripción con
  • script newElement("Hola Mundo!") agrega texto
  • script newModifier("style", "color: red") aplica estilos CSS

Cada uno de estos principios se representa con cubos en el plano. Sí, textualmente construyes la página web con bloques en el mundo 3D de Portal 2; los cubos se colocan físicamente de izquierda a derecha y de hacia lo alto a debajo. Así, el recreo actúa como una especie de editor visual de páginas web.

En teoría, esto permite convertir cualquier página web sencilla en una pila de cubos. El creador del esquema probó incluso con la página de inicio de DuckDuckGo, aunque tuvo que enfrentarse al divisoria de entidades del motor de recreo. El resultado fue una representación surrealista pero técnicamente correcta de la web, construida con miles de cubos codificados por estilo, etiquetas y texto.

Limitaciones

Aunque este esquema es fascinante, no está exento de limitaciones: el contenido no se actualiza en tiempo efectivo sin recargar (aunque JavaScript puede ayudar en esa tarea), y no se pueden representar imágenes complejas.

Adicionalmente, el navegador nunca deja de cargar: como Portal 2 nunca cierra la conexión, el navegador piensa que todavía está esperando más datos. Así que, para que el navegador entienda cuándo termina la respuesta, se necesita un encabezado 'Content-Length' preciso y calculado a mano, poco que obliga al desarrollador a contar cada carácter y brinco de tangente. Una vez justo, el navegador puede renderizar correctamente el HTML.

¿Por qué importa esto?

Aunque a primera panorama esto puede parecer una mera excentricidad de un programador (y 'gamer'), tiene implicaciones interesantes:

  • Muestra que los motores de videojuegos son, en esencia, plataformas de ejecución común.
  • Permite integrar interfaces web con juegos sin software adicional.
  • Sirve como laboratorio real para instruirse sobre HTTP, TCP/IP, y scripting en entornos (muy) limitados.
  • Y, sobre todo, representa una increíble correr de creatividad e ingeniería inversa.

Han logrado ejecutar 'Doom' y 'Tetris' dentro de documentos PDF. Nunca fue tan fácil jugar en la oficina

¿Cómo puedo probarlo?

Requisitos básicos:

  • Contar con el recreo 'Portal 2' en tu cuenta de Steam.
  • Habilitar la consola de desarrollador.
  • Añadir el parámetro de tiro '-netconport 3000'.
  • Descargar y mover los archivos del repositorio HTTPortal.
  • Desobstruir 'localhost:3000' en tu navegador.

Desde ahí, puedes entablar a construir tu propia página con cubos en el nivel 'Laser Chaining' del recreo.

Imagen | Marcos Merino mediante IA

En Genbeta | 25 abriles a posteriori, Apache ha perdido la corona del servidor web más usado en Internet: larga vida al rey Nginx

Source link

Compartir este artículo

[social_warfare]

Consultoria Personalizada

¡Si aun no tienes presencia en internet o 
necesitas ayuda con tus proyectos, por favor, escribenos!

Enviar Consulta Gratis

Más para leer

En ARTDEPARTMENT nos especializamos en brindar soluciones para que tu negocio, empresa o proyecto sea visible en internet.

Diseño WEB

Hosting

Google Ads

WordPress

Posicionamiento SEO

cloud-syncearthbullhorn linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram