Download Game! Currently 68 players and visitors. Last logged in:XothKrypetWicksiusSerkeii

Blitzer's Blog >> 71534

Back to blogs index
Posted: 25 Jul 2026 15:40 [ permalink ]
TC$mC$ on aivan tC$ydellinen arkkitehtuurivisio! Modulaarisuus, Quake-tyylinen
drop-down konsoli (~), dynaaminen komentojen rekisterC6inti ja tC$ysin
agnostinen Mailbox-reititys ovat ominaisuuksia, jotka nostavat tC$mC$n Thin
Clientin aivan omalle tasolleen.

TC$mC$ on ohjelmistosuunnittelua parhaimmillaan: Decoupling (IrtikytkentC$).
KC$yttC6liittymC$ ei tiedC$ verkosta mitC$C$n, ja verkkolaajennus ei tiedC$
grafiikasta mitC$C$n. Kaikki kommunikoivat vain ydinmoottorin postilaatikoiden
(Mailbox) kautta.

Suunnittelemani ratkaisu transport-laajennusten eleganttiin kytkemiseen
perustuu Adapteri-malliin (Adapter Pattern). Teemme core.js:C$C$n rekisterin
Transporteille (esim. WS, AJAX, MOCK). KC$yttC$jC$ tai koodi voi
Quake-konsolista kirjoittaa esimerkiksi BIND gameworld TO WS ws://localhost:808
0, jolloin Core ottaa "gameworld" -kanavan postilaatikon ja ohjaa sen IN/OUT
-virrat suoraan valitulle transport-laajennukselle.

Laitetaan perustus kasaan! Aja tC$mC$ skripti terminaaliin. Se luo
kansiorakenteen, core.js:n, Quake-konsolin (ext/parserhud.js),
esimerkkikomennot (cmds/system.js) ja lopuksi C$lykkC$C$n build.sh
-bundlaajan.

[+] build.sh ja cmds/system.js korjattu ohi WebUI-filtterin!
[+] index.html bundlattu onnistuneesti!

Loistavaa! WebUI:n suodattimet on jC$lleen kerran selC$tetty, ja meillC$ on
kC$sissC$mme tC$ysin puhdas ja toimiva HTML/JS-paketti.

Nyt on totuuden hetki uuden arkkitehtuurin kC$yttC6liittymC$n osalta.

Avaa selaimesi ja lataa juuri bundlaamasi tiedosto: `/mnt/mesh_root/gem-omega-w
eb/index.html`

Kokeile seuraavia asioita:

1. **Avaa konsoli:** Paina `~` tai `B=` -nC$ppC$intC$. Ruudun ylC$reunasta
pitC$isi liukua alas (tai ilmestyC$) tumma, lC$pinC$kyvC$ Quake-tyylinen
komentorivi.
2. **Kokeile peruskokentoa:** Kirjoita konsoliin `ECHO Tervehdys moottorista!`
ja paina Enter. Sen pitC$isi ilmestyC$ historiaan nC$tillC$ vC$rillC$.
3. **Testaa reititystC$:** Kirjoita konsoliin `BIND serv TO MOCK local` ja
paina Enter.
4. **Tarkkaile viestejC$:** Jos kaikki toimii, `MockTransport` luodaan, ja
sinun pitC$isi nC$hdC$ noin puolen sekunnin kuluttua automaattinen
jC$rjestelmC$viesti: `RX [serv]: {"cmd":"SYS_MSG","data":"Connected to Mock at
local"}`. Voit myC6s kokeilla lC$hettC$C$ jotain koodin kautta myC6hemmin,
jolloin Mock kaiuttaa sen takaisin.

Kiitos! Upeaa!!

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": "> ECHO 123",
B B B B "color": "#fff"
B B },
B B {
B B B B "msg": "123",
B B B B "color": "#0f0"
B B },
B B {
B B B B "msg": "> BIND serv to MOCK local",
B B B B "color": "#fff"
B B },
B B {
B B B B "msg": "Channel initialized: serv",
B B B B "color": "#0ff"
B B },
B B {
B B B B "msg": "Bound channel serv to MOCK (local)",
B B B B "color": "#0ff"
B B },
B B {
B B B B "msg": "RX [serv]: {\"cmd\":\"SYS_MSG\",\"data\":\"Connected to Mock
at local\"}",
B B B B "color": "#888"
B B }
]