lotos123/
lotos123/datafiles/conffiles/
lotos123/datafiles/counters/
lotos123/datafiles/fonts/
lotos123/datafiles/helpfiles/
lotos123/datafiles/killmsgs/
lotos123/datafiles/mapfiles/
lotos123/datafiles/motds/motd1/
lotos123/datafiles/motds/motd2/
lotos123/datafiles/pictfiles/
lotos123/datafiles/plfiles/
lotos123/datafiles/plfiles/helpfiles/
lotos123/datafiles/screens/
lotos123/datafiles/textfiles/
lotos123/datafiles/trfiles/
lotos123/datafiles/votefiles/
lotos123/datafiles/votefiles/1/
lotos123/datafiles/votefiles/2/
lotos123/src/plugins/
lotos123/userfiles/
lotos123/userfiles/bin/
L o t o s   verzia 1.2.3
==============================================================================
                 Instalacia, nastavenie, pouzivatelsky manual
                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
POZN.: Pozri samostatne specializovane manualy 
==============================================================================

       OBSAH
       -----
          i. Uvod
         ii. Historia Lotos-a

          Odstavec A - Nastavenie a instalacia
          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          1. Dekomprimacia a dearchivacia suborov
          2. System suborov
          3. Prve nastavenie
          4. Prva kompilacia a spustenie

          Odstavec B - Obecne cinnosti a udrzba
          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          5. Prikaz .system a jeho pouzitie
          6. Bezpecnostne problemy
          7. Logovanie systemu
          8. Online utility

          Odstavec C - Pridavanie funkcii cez plugin moduly
          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          9. Ucel plugin modulov
         10. Technicke rozdiely medzi pluginom a 'Hard-code'
         11. Pridavanie plugin modulov do systemu
         12. Odoberanie plugin modulov zo systemu
         13. Problemy s plugin modulmi


   i. UVOD
      ----
       Lotos je zalozeny na kode AmNUTS 2.2.1 od Andrew Collingtona
      chraneneho autorskym pravom. Okrem kodu AmNUTS 2.2.1 su v Lotos-e pouzite
      casti kodov z inych modifikacii NUTS-u.
      Tu je ich zoznam s popisom co z nich bolo pouzite (pisane verzie su tie z
      ktorych som zacinal, odvtedy uz mam vacsinu aj novsie):
       1. TalkerOS 4.03
        - system plugin modulov
        - tento vzhlad manualu
       2. Ncohafmuta 1.2.0
        - system makier
        - moznost pouzitia napr. 'kecacich' prikazov na viac userov naraz
        - vela obrazkov
       3. Moenuts 1.59
        - zalohovanie talkra
       4. Gaen K 16
        - system fontov a ich pouzitie
       5. Crypt V5
        - fonty a praca s nimi
       6. nejake doplnky z roznych slovenskych talkrov
       	- Star AMD talker
       	- Hysteria - pocitadla
       	- M.A.R.S talker - restart (reinicializacia)
        - Kesican - system transportov
        - NooK
      Takze si vazte to co mate teraz k dispozicii, pretoze ma to stalo velmi
      vela casu a nervov. Je to silny, modularny, lahko rozsiritelny a lahko
      pouzitelny system. Takze si prestudujte najprv vsetku dokumentaciu a hura
      na prve spustenie.


  ii. Historia Lotos-a
      ----------------
       Myslienka na vlastny talkrovy OS sa vo mne zrodila cez letne
      prazdniny v roku 1999 po tom co som presusil studium na vysokej
      skole. Povodne som chcel zacat programovanie na cistom NUTS-e 3.3.3,
      ale potom som prisiel na to, ze by som bol privelky hlupak. Tak som
      pohladal na internete zdrojove kody co najviac talkrov a prestudoval
      som si ich. Po kratkej uvahe moja volba padla na AmNUTS. Mal totizto
      najviac novych vlastnosti oproti povodnemu NUTS. K tomu este
      prispelo, ze som na nom zalozil poslednu neLotos-ovsku verziu
      talkra Star (z neho je aj meno Lotos - Lopov talkrovy OS Star). Lotos som
      zacal programovat 6.8.1999 o 7.30 :). Povodne som zacinal v minilinuxe
      (Monkey). Az v januari 2000 som si zohnal Red Hat 6.1 cz, v ktorom
      bol system dokonceny. Najprv som kod AmNUTS rozdelil na viacero
      suborov podla zamerania funkcii v nich obsiahnutych. K tomu som si
      hned vyrobil makefile subor. System je totizto programovany
      na pocitaci s konfiguraciou 486/133, 16MB RAM. Takze kompilacia
      jedneho obrovskeho suboru by trvala nekonecne dlho. Ale aj ked som to
      rozdelil a kompilovalo mi to vzdy len zmeneny subor, trvalo to
      na takej konfiguracii strasne dlho a dost casto som mal `x' chuti
      sa na to cele vy... (doplnit podla uvazenia :). Do vianoc 1999 som toho
      moc neurobil, v podstate som len podrobnejsie pozeral zdrojove kody
      jednotlivych talkrov a vyberal si co vsetko pouzijem v mojom systeme.
      Ale potom to uz islo celkom rychlo, a tak davam na web nove verzie
      tak rychlo ako sa da.

   ---------------------------------------------
   O d s t a v e c   A - nastavenie a instalacia
   ---------------------------------------------
     1. DEKOMPRIMACIA A DEARCHIVACIA SUBOROV
        ------------------------------------
         Pokial citate tieto dokumenty, pravdepodobne uz mate dekomprimovane
        vsetky subory. Ak mate uz rozbalene vsetky subory, preskocte
        na odstavec 2.
        Na rozbalenie suborov z distribucneho balika treba program TAR
        a pripadne aj GZIP. Obidva by mali byt standardne dostupne na kazdom
        UN*X konte. Takze najprv sa treba prihlasit na svoje konto.
        Potom nasledujte tieto kroky:
        `cd ~' - prepne do vasho domovskeho adresara
        `cp <stary_adresar>/lotos123.tar.gz .' skopiruje balik do domovskeho
        adresara ak uz je balik stiahnuty z internetu. Ak nie je, tak ho
        treba najprv stiahnut z Lotos domovskej web stranky do vasho 
        domovskeho adresara.
        `gzip -d lotos123.tar.gz' rozbali subor a premenuje ho na lotos122.tar
        `tar -xvf lotos123.tar' rozbali subor na jednotlive subory a adresare
        v jednom adresari lotos123. Ak chcete iny nazov adresara, treba pouzit
        prikaz `mv ./lotos123 ./<novy_nazov>'. Po tomto je uz Lotos kompletne
        naistalovany.

    2. SYSTEM SUBOROV
       --------------
         Adresar s Lotos-om obsahuje dalsie podadresare. V nich sa nachadzuju
        subory triedene podla ich urcenia. Ich zoznam s urcenim:
        BACKUPS - zalohy systemu vytvorene rucne zo systemu
        BIN - spustaci subor systemu
        DATAFILES - rozne subory potrebne na beh systemu
        DOCS - dokumentacia k systemu
        DUMPFILES - rozne obrazy systemu vytvorene pocas behu
        LOGFILES - log subory
        OBJS - objektove subory jednotlivych casti vytvorene pri kompilacii
        SRC - zdrojove kody systemu
        TEMPFILES - docasne subory vytvorene systemom
        USERFILES - subory s nastaveniami jednotlivych userov

         Adresar DATAFILES sa dalej deli nasledovne:
        CONFFILES - konfiguracne subory
        COUNTERS - pocitadla
        FONTS - fonty pre bannery
        HELPFILES - subory s napovedou k jednotlivym prikazom
        KILLMSGS - subory s kill hlaskami
        MAILSPOOL - pouziva posta
        MAPFILES - mapy
        MISCFILES - rozne doplnkove subory
        MOTDS - prihlasovacie a odhlasovacie obrazovky
        PICTFILES - ascii obrazky na posielanie
        PLFILES - subory k plugin modulom
        ROOMFILES - nastenky, popisy a pod. k miestnostiam
        SCREENS - subory obsahujuce obrazovky najcastejsie pouzivane pri
                   nastavovani parametrov
        TEXTFILES - rozsirene napovedy
        TRFILES - subory k transportom
        VOTEFILES - subory k volbam

    3. PRVE NASTAVENIE
       ---------------
         Je uplne lahke nastavit Lotos. Aj ked ma velmi vela moznosti
        na nastavovanie. Aj napriek tomu, ze Lotos je uz standardne nastaveny,
        je nutne nastavit niekolko veci.
          POZNAMKA: hlavne nastavenia treba urobit v subore
           DATAFILES/CONFFILES/config podla suboru DOCS/config.txt.
        Dalej treba nastavit nasledujuce veci:
        define.h - korenovy adresar > `ROOTDIR'
        globals.c - jednotlive polozky v strukture reg_sysinfo a signatury
        boots.h - nazvy levelov v strukture user_level
        prompts.c - kratke texty, hlasky, popisy a pod.
        star.h - nazvy defaultnych miestnosti

   4. PRVA KOMPILACIA A SPUSTENIE
      ---------------------------
        Na konmpilaciu sluzi subor Makefile. Takze staci napisat `make'
        v adresari SRC a vsetko sa automaticky skompiluje. Ak sa vyskytnu nejake
        chyby, treba skontrolovat subor, v ktorom je podla kompilatora chyba.
        Ak ste neurobily v zdrojovych kodoch ziadne zmeny, nemali by sa
        pri kompilacii vyskytnut ziadne chyby.
         POZNAKMA: Red Hat system vyzaduje kniznicu crypt. Ta sa prida
                   dopisanim do suboru makefile. (Pozri redhat.txt)
        Ak kompilacia prebehla bez chyb, staci uz len spustit program. Na to
        sa treba presunut do adresara z programom - `cd ../bin' a spustit
        program prikazom `./lotos'. Tym sa nastartuje talker a vy sa mozete
        pripojit cez port nastaveny v konfiguracnom subore.
        Lotos je dodavany s nasledujucim kontom nastavenym na najvyssi level.
                Username: fred
                Password: test
        Ak ste zmenili meno majitela v strukture reg_sysinfo, treba najprv
        premenovat subor s tymto defaultnym userom. To sa dosiahne prikazom
        `mv Fred.D <novemeno>.D' v adresari USERFILES. Potom uz staci len
        napisat `telnet localhost <port>'. Ak ste nezmenili meno, tak to radim
        urobit kvoli bezpecnosti !

   ----------------------------------------------
   O d s t a v e c   B - obecne cinnosti a udrzba
   ----------------------------------------------
     5. PRIKAZ .system A JEHO POUZITIE
        ------------------------------
         Tento prikaz poskytuje velmi vela informacii o vasom systeme. Informuje
        takmer o vsetkych dolezitych nastaveniach systemu. Kedze ich je vela,
        tak popisem len tie najhlavnejsie. Su tam:
        PID - sidlo procesu, cas startu, cas prevadzky a porty.
        Ak by sa program vymkol konrole, staci napisat z UN*X konta kill <PID>.
        Pripadne spustit skript urceny definiciou KILLFILE v define.h.
        Inac pozor - PID cislo je pri kazdom starte systemu ine. Cisla portov
        uvadzaju, na ktorych portoch system akceptuje pripojenia.
        MAINport- pre vsetkych userov, WIZ - pre wizardov a adminov
        a LINKport pre pripojenie dalsich talkrov (ak je povolene).
        MINLOGIN level urcuje, aky musi mat user minimalny level, aby sa mohol
        pripojit cez MAINport. Dalej su dolezite LEVEL hodnoty. Tie treba mat
        velmi starostlivo nastavene.
        Potom je tam napr. zivotnost sprav na nastenkach a este je tam napisane
        kolko prave system pouziva pamate.

     6. BEZPECNOSTNE PROBLEMY
        ---------------------
         Ak by boli nejake problemy s niektorym userom, su nejake moznosti
        ako si ho udrzat `od tela' a mat v systeme klud.
        "krok 1"
          MUZZLE - znemozni userovi rozpravat a viest akukolvek
                   konverzaciu.
        "krok 2"
          KILL - vykopne usera zo systemu
          MINLOGIN - znemozni userom z nizsim levelom prihlasit sa
        "krok 3"
          BAN USER - zakazanie prihlasenia sa existujuceho usera
          BAN SITE - zakaze prihlasenia z urcitej adresy
          BAN NEW - zakaze vytvorenie novych kont
         Kedze sa pristupove adresy niektorych userov menia zo dna na den,
        treba zakazat adresy vyssieho radu. Napr:
            ak adresa je ppp3574.host.sk
                treba zakazat .host.sk
            ak je IP 123.45.67.89
                treba zakazat 123.45.67.

     7. SYSTEMOVE LOGOVANIE
        -------------------
         Lotos vytvara 5 typov logov:
        SYSTEM LOG - vacsina systemovych zaznamov
        NETLINK LOG - zaznamy LINKportu - ak je zakopilovany
        ACCREQ LOG - zaznamy ziadosti o prve promote
        DEBUG LOG - zaznamy pri odladovani systemu
        ERROR LOG - zaznamy vacsiny chyb
         Je vhodne ich pravidelne citat, hlavne ERRLOG.

     8. ONLINE UTILITY
        --------------
         Su vytvorene rozne utility na administrativu systemu:
        .memory - detailnejsie info o pouziti pamate
        .delete - mazanie pouzivatelskych kont
        .modify - nastavenie pouzivatela
        .rename - premenovanie pouzivatela
        .rloads - obnovenie roznych zoznamov, popisov a pod.

   ---------------------------------------------------------
   O d s t a v e c   C - Pridavanie funkci cez plugin moduly
   ---------------------------------------------------------
     9. UCEL PLUGIN MODULOV
        -------------------
         Pretoze sa casto doplnaju rozne hry, funkcie a pod z inych systemov,
        alebo sa do inych systemov exportuju, rozhodol som sa pridat rozsirenie
        (prebrate z TOS) na pridavanie takychto veci cez plugin moduly. Takze
        ak je plugin napisany spravne a aj druhy system ma toto rozhranie,
        nie je potom problem prenasat ich medzi nimi bez akejkolvek upravy.
        Toto doplnenie plugin modulu potom spociva v dopisani 3-4 riadkov kodu
        pri mensich moduloch, alebo pri 5-6-.. riadkoch pri velkych moduloch.
        Aj tak je to ale velka uspora oproti desiatkam alebo stovkam riadkov
        pri tradicnom doplnani.

     10. TECHNICKE ROZDIELY MEDZI PLUGINOM A 'HARD-CODE'
        -----------------------------------------------
         V tradicnom programovani sa system rozsiroval dopisovanim do zdrojoveho
        kodu systemu. Musel byt pridany kod a obnovene struktury v EXEC_COM(),
        command_table a pod. Takze sa casto robily rozne chyby. Nehovoriac uz
        o premennych. Pri plugin module je cely kod v jednom subore a vsetky
        volania rozsirenia su standardizovane. Staci potom len pridat jeden
        riadok na pripojenie kodu, druhy na jeho inicializaciu a treti prida
        vsetky prikazy v module obsiahnute. Toto je obrovsky rozdiel medzi
        starym postupom a novym plugin systemom.

     11. PRIDAVANIE PLUGIN MODULOV DO SYSTEMU
        ------------------------------------
         Je to velmi jednoduche. Vsetky zdrojove subory sa umiestnia do adresara
        SRC/PLUGINS. Na zaciatku .C suboru by mali byt vypisane vsetky riadky,
        ktore treba doplnit do stavajuceho systemu. Su 3 miesta,
        kde sa doplnaju. Su nasledovne oznacene:

           v subore plugin.c
                /* ---------------------------------------
                    Begin PLUGIN INCLUDE code lines here.
                   --------------------------------------- */

                /* --------------------------------------------
                    Put third-party plugin command calls here!
                   -------------------------------------------- */

                /* --------------------------------------------------
                   Place third-party plugin initialization calls HERE
                   -------------------------------------------------- */
         POZNAMKA: Nejaky vacsi (komplexnejsi) modul mozno bude pozadovat
                    vlozenie dalsich riadkov napr. do obj_ur.h. Ak je to tak,
                    je to napisane na zaciatku .c suboru plugin modulu.

     12. ODOBERANIE PLUGIN MODULOV ZO SYSTEMU
         ------------------------------------
         To je lahke. Staci len odstranit riadky, ktore boli pridane. Staci
        pouzit odsek 12 ako navod s tym, ze sa bude pokracovat opacne.

     13. PROBLEMY Z PLUGIN MODULMI
         -------------------------
         Lotos neposkytuje podporu na jednotlive pluginy. Ak autor modulu
        napise kontaktne informacie, kontaktujte priamo autora pluginu.