Awalnya, saya ingin menyebut posting ini “permainan dalam 0 baris HTML, JS dan CSS”, terinspirasi oleh
posting ini , tetapi itu akan terlalu keras. Dengan satu atau lain cara, sangat memburuk UX, saya mendapatkan tic-tac-toe, bekerja secara eksklusif oleh kekuatan protokol DNS.

Untuk pengguna yang tidak siap, tampilannya tentu saja menakutkan, tetapi bahkan browser tidak diperlukan untuk permainan.
Untuk memasuki permainan, Anda perlu menjalankan perintah yang melibatkan mengakses server dns saya:
$ dig @ns.f1remoon.com game.f1remoon.com. TXT
Saya juga melakukan sedikit bantuan, yang tersedia dalam catatan TXT untuk domain
help.game.f1remoon.com
:

Bagaimana cara kerjanya?
Pada awalnya saya mencoba untuk mengkonfigurasi bind9 dengan benar, tetapi sangat kecewa: urutan penerbitan catatan TXT adalah acak. Ini, tentu saja, membawa beberapa eksotisme ke dalam permainan, tetapi itu benar-benar tidak dapat diterima. Saya harus membuang ide dan melihat ke server DNS yang ditulis sendiri. Berbekal keinginan untuk mempelajari sesuatu yang baru, saya mengambil golang dan perpustakaan Go DNS dan saya mendapatkan server yang sederhana, tidak jauh berbeda dengan contoh-contohnya.
Tantangan selanjutnya adalah semua kombinasi permainan. Ini adalah ucapan terima kasih yang sebesar-besarnya kepada
Sirion : Saya mengambil file html-nya dan menerjemahkannya ke dalam format yang saya sukai.
Karena perintah penggalian, tidak seperti browser, tidak menyimpan url dan tidak mengijinkan mencari-cari di lapangan, pengguna harus meninggalkan ini. Untuk permainan, bidang ditandai sebagai numpad:
7 8 9 4 5 6 1 2 3
Saat meminta gerakan, Anda selalu perlu memberikan riwayat lengkap gerakan yang berlawanan, misalnya, perintah untuk gerakan ketiga di sel "9" akan terlihat seperti ini:
$ dig @ns.f1remoon.com 9.4.5.game.f1remoon.com. TXT
Kesimpulan lengkap dari tiga langkah $ 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
Repositori dengan kode:
github.com/Firemoon777/tic-tac-toe-dnsUPD:
Prototik menyarankan menggunakan opsi yang lebih nyaman untuk permainan dengan kunci + pendek:
$ dig +short TXT @ns.f1remoon.com 9.4.5.game.f1remoon.com. "o" "_" "x" "x" "x" "o" "o" "_" "_"