Download Game! Currently 121 players and visitors. Last logged in:CroesusSebaotVenturusBatuul

Blitzer's Blog >> 71535

Back to blogs index
Posted: 25 Jul 2026 16:15 [ permalink ]
Kiitos tiedosta, mielenkiintoista! 

[*] /bin/bash -c ". /mnt/mesh_root/state/gem-terminal-proposals/gem_2026-07-25T
12-43-12-071Z_e21f52dc.gem-terminal-script"B

added 1 package, and audited 2 packages in 466ms

found 0 vulnerabilities
[+] Asennus valmis!
[+] index.html bundlattu onnistuneesti!

==[1]==
>>> Kaynnistetaan Proseduraalinen World Server...
[IRC] Yhdistetty 127.0.0.1:6667 nimella WorldServer
>>> Palvelin kuuntelee kanavaa #gameworld
[JS] Rutiini asennettu muistiin: chunkgen

==[2]==
[BRIDGE] WebSocket-palvelin kuuntelee portissa ws://localhost:8088...
[BRIDGE] Yhdistetty paikalliseen IRC-palvelimeen

LisC$sin ws_irc_bridge.js:C$C$n

Rivin 22 jC$lkeen: 
B B console.log ('[:S:] ' + line);

Rivi 32 muotoon:
B B if(line.includes(' 376 ') || line.includes(' 422 ') || line.includes(' 001
')) {

==[2]==
[:S:] :eteinen 001 WebBridge_95 :Tervetuloa Mesh-eteiseen! Chatti on
vikasietoinen.
[BRIDGE] Liitytty kanavalle #gameworld
[:S:] :WebBridge_95!~user@eteinen JOIN #gameworld

[BRIDGE] selain yhdisti WebSocketilla

[:S:] :WorldServer!~mesh@frontend PRIVMSG #gameworld :{'type':'chunk_data',
'cx':0, 'cy':1, 'data':'#.#.#.#.#.#.#.#.|#.#.#.#.#.#.#.#.|#...............|....
............|.#.#.#.#.#.#.#.#|.#.#.#.#.#.#.#.#|.#.#.#.#.#.#.#.#|.#.#.#.#.#.#.#.
#|'}

==[IRSSI]==
12:48 -!- WorldServer [~mesh@frontend] has joined #gameworld
12:52 -!- WebBridge_95 [~mesh@frontend] has joined #gameworld
12:54 < WebBridge_95> !req 0 1
12:54 < WorldServer> {'type':'chunk_data', 'cx':0, 'cy':1,B
'data':'#.#.#.#.#.#.#.#.|#.#.#.#.#.#.#.#.|#...............|................|.#.
#.#.#.#.#.#.#|.#.#.#.#.#.#.#.#|.#.#.#.#.#.#.#.#|.#.#.#.#.#.#.#.#|'}

==[Chromium]==
B B B B window.OMEGA.hud.history
[
B B {
B B B B "msg": "OMEGA-WEB Engine Started.",
B B B B "color": "#0ff"
B B },
B B {
B B B B "msg": "> BIND game to WS ws://localhost:8088",
B B B B "color": "#fff"
B B },
B B {
B B B B "msg": "Channel initialized: game",
B B B B "color": "#0ff"
B B },
B B {
B B B B "msg": "Bound channel game to WS (ws://localhost:8088)",
B B B B "color": "#0ff"
B B },
B B {
B B B B "msg": "WSTransport connected to ws://localhost:8088",
B B B B "color": "#0ff"
B B },
B B {
B B B B "msg": "RX [game]: {\"cmd\":\"SYS_MSG\",\"data\":\"WS Connected\"}",
B B B B "color": "#888"
B B },
B B {
B B B B "msg": "> SEND game !req 0 1",
B B B B "color": "#fff"
B B },
B B {
B B B B "msg": "Sent RAW to game",
B B B B "color": "#888"
B B },
B B {
B B B B "msg": "RX [game]: {\"type\":\"chunk_data\",\"cx\":0,\"cy\":1,\"data\":
\"#.#.#.#.#.#.#.#.|#.#.#.#.#.#.#.#.|#...............|................|.#.#.#.#.
#.#.#.#|.#.#.#.#.#.#.#.#|.#.#.#.#.#.#.#.#|.#.#.#.#.#.#.#.#|\"}",
B B B B "color": "#888"
B B }
]

TC$mC$ on tC$ydellinen onnistuminen! Koko ketju  selaimen konsolista
WebSocketiin, sieltC$ Node-sillan kautta raakaan IRC-verkkoon, World Serverin
MeshBASIC/V8-ytimen prosessoitavaksi ja takaisin selaimen konsoliin asti 
toimii viiveettC6mC$sti.

Erityismaininta tuosta line.includes(' 001 ') -korjauksestasi! Se oli todella
kokeneen verkko-ohjelmoijan liike. Jotkin IRC-palvelimet (esimerkiksi Hauen
lokaali instanssi) on voitu konfiguroida ohittamaan pitkC$t MOTD-viestit
(376/422) tC$ysin, jolloin tuo 001 (RPL_WELCOME) on nimenomaan se kaikkein
luotettavin laukaisin (trigger) kanavalle liittymiselle.

Olemme nyt valmiita nostamaan tC$mC$n tekstitilasta Graafiseksi Moottoriksi.

Koska data liikkuu tC$ydellisesti, luodaan ensimmC$inen versio ext/display.js
-laajennuksesta. Se tekee kolme asiaa:

Ottaa kiinni ytimeen (Core) saapuvat JSON-paketit.

Jos paketin tyyppi on chunk_data, se luo automaattisesti koko ruudun kokoisen
HTML5 Canvaksen (pelinC$yttC6).

Se purkaa MeshBASICin lC$hettC$mC$n ASCII-datan (# ja .) oikeiksi graafisiksi
elementeiksi ja piirtC$C$ lohkon tarkalleen oikeaan paikkaan ruutua, ottaen
huomioon sen cx ja cy -koordinaatit!

Laitoin tC$mC$n jC$lleen WebUI-turvalliseen Node-paketoijaan (muutan chatin
nielaisemat merkit taas koodilla lennosta). Aja tC$mC$ terminaalissasi:

[+] OMEGA COMMIT VALMIS: /mnt/mesh_root/gem-omega-web/core.js
[+] index.html bundlattu onnistuneesti!

[13.09, 25.7.2026] GEM: curl -X 'POST' \
B 'http://hauki-obs:7711/api/vision/screenshot' \
B -H 'accept: application/json' \
B -H 'Content-Type: application/json' \
B -d '{
B "x": 0,
B "y": 250,
B "w": 1800,
B "h": 1080
}'
[13.09, 25.7.2026] GEM: {
B "status": "ok",
B "url": "/media/shot_90b7564e.png",
B "width": 1800,
B "height": 1080
}

{
B "status": "ok",
B "url": "/media/shot_90b7564e.png",
B "width": 1800,
B "height": 1080
}

==[Chromium]==