Inicialmente, quería llamar a esta publicación "un juego en 0 líneas de HTML, JS y CSS", inspirado en
esta publicación , pero sería demasiado ruidoso. De una forma u otra, deteriorando enormemente el UX, obtuve tic-tac-toe, trabajando exclusivamente por el poder del protocolo DNS.

Para un usuario no preparado, parece, por supuesto, aterrador, pero ni siquiera se necesita un navegador para el juego.
Para ingresar al juego, debes ejecutar un comando que implique acceder a mi servidor DNS:
$ dig @ns.f1remoon.com game.f1remoon.com. TXT
También hice un poco de ayuda, que está disponible en los registros TXT para el dominio
help.game.f1remoon.com
:

Como funciona
Al principio, intenté configurar bind9 correctamente, pero me decepcionó: el orden de emisión de los registros TXT era aleatorio. Esto, por supuesto, trajo algo de exotismo al juego, pero fue absolutamente inaceptable. Tuve que abandonar la idea y mirar hacia un servidor DNS auto-escrito. Armado con el deseo de aprender algo nuevo, tomé Golang y la biblioteca Go DNS y obtuve un servidor simple, no muy diferente de los ejemplos.
El siguiente desafío fue todas las combinaciones del juego. Aquí hay un gran agradecimiento a
Sirion : tomé sus archivos html y los traduje a un formato que me gustó.
Dado que el comando de excavación, a diferencia del navegador, no almacena la URL y no permite hurgar en el campo, el usuario tendrá que dejar esto. Para el juego, el campo se marcó como teclado numérico:
7 8 9 4 5 6 1 2 3
Al solicitar un movimiento, siempre debe proporcionar el historial completo de movimientos en el lado opuesto, por ejemplo, el comando para el tercer movimiento en la celda "9" se verá así:
$ dig @ns.f1remoon.com 9.4.5.game.f1remoon.com. TXT
Conclusión completa de tres movimientos. $ dig @ns.f1remoon.com 5.game.f1remoon.com. TXT ; <<>> DiG 9.11.3-1ubuntu1.1-Ubuntu <<>> @ns.f1remoon.com 5.game.f1remoon.com. TXT ; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 12656 ;; flags: qr rd; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 0 ;; WARNING: recursion requested but not available ;; QUESTION SECTION: ;5.game.f1remoon.com. IN TXT ;; ANSWER SECTION: 5.game.f1remoon.com. 0 IN TXT "o" "_" "_" 5.game.f1remoon.com. 0 IN TXT "_" "x" "_" 5.game.f1remoon.com. 0 IN TXT "_" "_" "_" ;; Query time: 135 msec ;; SERVER: 159.65.145.145
Repositorio con código:
github.com/Firemoon777/tic-tac-toe-dnsUPD:
Prototik sugiere usar una opción más conveniente para el juego con la tecla + breve:
$ dig +short TXT @ns.f1remoon.com 9.4.5.game.f1remoon.com. "o" "_" "x" "x" "x" "o" "o" "_" "_"