MUD forraskod

 ( ha1dfo | 2019. február 15., péntek - 20:39 )

Hatalmas MUD fan voltam regen. Aztan jott a WoW, es egyik naprol a masikra teljesen elneptelenedett a hely.
Most, igy tizen par ev tavlatabol csak ugy eszembe jutott: megvan-e vajon barkinek a hiresebb MUD-ok forraskodja? Elveszett Vilagok, Brutalia 1/2 ?
Megerne-e a prezervalas jegyeben a forraskodot elerhetove tenni?

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

[Feliratkozás]

Volt itt pár MUD-os fórum, érdemes azokat is megnézned.

https://mud.hu/
hogy a forrásokat honnan tudod elkérni, az jó kérdés (a linkekben nincsenek benne a portok, a brutalia is él).

a brutalok es az EV meg futnak az fix, m a bastardon (brutal1) szoktam nyomni neha :)

Brutalia, de reg is volt :)
Rengeteg idot elszurtam vele foiskola kornyeken...

3-4 eve tettem vele egy probat. Nem egy Idoregesz az biztos :D
szerk.: lehet nem a II. volt, nem emlekszem mar.
____________________
echo crash > /dev/kmem

Én meg ott tanultam meg programozni :)

Amúgy egy alap MUD ("motor") mennyire nehéz feladat megírni?

---
"Errors are red
My screen in blue
Someone help me
I've deleted Sys32"

A driverre vagy a Mudlib-re gondolsz, mint motor?
A driver biztosítja a játék kódjainak programozási nyelvét és annak függvényeit
A játék kódjai (területek, tárgyak, élőlények, modulok, stb) pedig a Mudlib.

elegge osszetett egy mud megirasa, nekem is van egy felig elkezdett.
mondjuk en a mudlib magyarositasanal akadtam el, az rengeteg energiat felemesztett.

Elege sok munka van benne. Nem veletlenul masolgattak egymasrol.
Olvass utana a wikipedian a LPmud cikknek. Brutalia vonal egy regi LPmud volt.
Egyebkent "lpmud github"-ra rakeresve egesz sok szabadda tett forrast lattam amihez lib is volt, nem csak driver.

Neked az említett mudok lib-je kéne ha jól értem, ami tartalmazza a helszínek leírását az implementált kiadható parancsokat, küldetéseket, klánokat, boltolás-kereskedelem, harci rendszer, mesterségek, speciális dolgok, időjárás, bolygóállás, hónapnevek, épületek, növények, állatok, tárgyak stb... tehát a hozzáadott értéket?
Szerintem ez az ami tipikusan megszerezhetetlen :-)

A neten megtalálható az összes régi húzónév a 90-es évekből vagy régebbről, tipikusan stock mud driver + demó mudlib-bel jönnek, tehát fordítás és kis konfigurálás után startolható a szerver, amelyben általában egy kisebb demo világ van implementálva, azonnal játszható, vagy netre kitéve több user is be tud telnetelni, tehát 100% működik out-of-the-box.

Stock MUD driver + stock lib mind a mai napig letölthető, a 90-es évek húzónevei mind ingyenesek (de eléggé megszorított policyvel).
LPMud-ok közül a leghíresebbek változatok: FluffOS, Dead Souls
DikuMud leginkább fentmaradt változatai: CircleMud, SMAUG, ROM
MUSH-okba nem mennék bele.

Ezek idáig mind C-ben írt mudok, ingyen letölthetőek de saját pénzkereseti lehetőségként használatát tiltják a készítőik. A fent említett "klasszikus" mudok rendszerigénye általában 386/486-os CPU, 28/56.6K modemes net és 20-30 MB lemezhely, futtatáskor 8-16 MB RAM. Ez elég egy közepes méretű világhoz, tehát kb 10-15ezer helyszínes világ, full maxos harci-klán-kereskedelmi logikával stb... mindezt kb 1000 egyidejű bejelentkezett userrel (az OS egyidejűleg megnyitható file darabszám limitje szab csak határt). Ezek a Mudok jellemzően szöveges flat-file-ban tárolják lemezen a teljes világot, esetleg logikusabb könyvtárszerkezetbe szétszórva. A mud indításakor felszívja memóriába lemezről ami kell neki és onnantól csak néha írogat vissza flatfile-okba, pld új játékos filet hoz létre, vagy egy tárgy másik helyre kerül és lerögzíti az új koordinátákat. Van bennük valami snapshot szerű is, ahol megadott helyre kiírja az összes filet (mint egy backup), ezt akár naponta vagy óránként is lehet. Szóval egy mezei raspberri PI is bőven elfuttatja röccenés nélkül 24/7/365-ben.

Spagettikód elemzés után bővíthetőek, de >10 MB C forráskódról van szó! Magyar ékezetes karaktereket ha szeretnél, UTF8-assá alakítás kéne a teljes forráskódban, pokoli meló lehet, pld 90-es években írt C string hosszúság vizsgáló funkciót kell felturbózni ékezetes UTF8 szövegkezelésre (ahol egy karakter 2 vagy 3 byte hosszú is lehet), de ez csak a jéghegy csúcsa az ékezetes betű témában. Aztán persze lehet saját bármit implementálni bennük, de mindig belefutsz majd valami legacy ocsmányságba, illetve debugging nehéz.

Aztán rájössz hogy annyira fos az egész mud driver hogy már azt reméled bárcsak újrakezdhetnéd az egész projectet egy alap telnet szerverről indulva és az egész libet az utolsó szögig te implementálod. Ez természetesen így is van, úgyhogy csak ajánlani tudom ezt a kicsontozott, barebone modern szervert:
https://github.com/cryptixman/miniMUD

illetve egy másikat, nagyon full-extrás:
https://github.com/evennia/evennia

Ohhh... ezek a python mudok .. nagyon állat...

sub

Ezerrel toltam én is anno az EV/Brutaliat egyetem mellett/helyett ;)
Van is egy régi változatom belőle valahol, de ahogy írták, ma is működik még, néha lecsekkolom és még létezik a kb. 20 éves karakterem.

Brutalra írtam helyszínt is :D

--
jAzz