[CH]Akárhány CH a szerverbe

Indította masodikbela, 2012-05-24, 16:20:26

Mivel volt egy ilyen kérdés, és engem is érdekelt, átgondoltam, hogy hogyan is lehetne betenni több cht a szerverbe.

Szükségünk lesz a következő sftp programra: WinScp (filezilla NEM JÓ, mivel nem tudsz benne parancsikont(linket) készíteni!!!)

Franzi sf el a következő:


  • Menjünk be a következő mappába: /usr/home/game (kinek mi van a home helyett...) és csináljunk biztonsági másolatot a következőkről: start.sh, close.sh, clear.sh
  • Hozzunk létre egy channel3 nevű mappát, adjunk neki 777-es jogot.
  • Töltsük le a channel2 mappából a parancsikonokon(game, locale, log, data)  kívül mindent.
  • Keressük elő a CONFIG fájlt a letöltött fájlok közül, majd nyissuk meg.
  • A következőket írjuk át:
    HOSTNAME: channel3
    CHANNEL: 3
    PORT: 13002
    P2P_PORT: 14002
  • Mentsük el, és amiket letöltöttünk a channel2 mappából, másoljuk vissza a channel3 mappába.
  • Adjunk 777 es jogokat a következő fájloknak: shut.sh, CONFIG, .killscript, clear_logs.sh
  • Menjünk be a következő mappába: /usr/home/game/logs/ és hozzunk létre egy channel3 nevű mappát, adjunk neki 777 es jogot.
  • Ugyan itt van egy channel2 nevű mappa is, menjünk be és töltsük le a következő 3 fájlt: PTS, syserr, syslog
  • A már letöltött fájlokat töltsük föl a channel3 nevű mappába, majd adjunk nekik 777 es jogot. Ugyan ide készítsünk egy log nevű mappát 777 es joggal.
  • Most szükségünk lesz a fent említett WinScpre. Nyissuk meg, csatlakozzunk fel a szerverünkre (ugyan úgy, mint filezillánál), majd menjünk el ide:/usr/home/game/channel3
  • Jobb klikk egy üres helyre -> new -> link Link/shortcut file hez írjuk ezt: data  Point link/shortcut to: írjuk ezt: ../share/data Okézzuk le, az első meg is van.
    Csináljunk megint egy új linket, első részbe(link/shortcut file) írjuk ezt: locale második részhez(loint link/shortcut file): ../share/locale okézzuk le ismét.
    Újabb link, első részhez: log másodikhoz: ../logs/channel3 leokézzuk...
    Még egy link, első részhez: game másodikhoz: ../share/game Elmentjük, és készen is van.

  • A cht már sikeresen betettük, már csak el kéne tudni indítani.

    1. Töltsük le az /usr/home/game mappából a start.sh fájlt, nyissuk meg valamilyen szövegszerkesztővel(lehetőleg amelyik nem egy sorba írja a dolgokat pl: notepad, wordpad).

    Valahogy így néz ki:

    #!/bin/sh


    echo -e "\033[31m 
    Mennyi ch-t ind'itsak? \n
    1 - (1) Ch\n
    2 - (2) Mindd\033[0m"

    read chs

    case $chs in
    1*)
    echo -e "\033[31m Starting Database ..\033[0m"
    cd ./g1/db/
    ./db &
    sleep 2
    clear
    echo -e "\033[31m \n Starting Auth ..\033[0m"
    cd ../auth
    ./auth &
    sleep 2
    clear
    echo -e "\033[31m \n Starting CH 1 ..\033[0m"
    cd ../../channel1/
    ./game &
    sleep 2
    clear
    echo -e "\033[31m \n Starting CH 99 ..\033[0m"
    cd ../game99/
    ./game &
    sleep 2
    clear
    echo -e "\033[32m \n CH1 elindult\033[0m"
    ;;
    2*)
    echo -e "\033[31m Starting Database ..\033[0m"
    cd ./g1/db/
    ./db &
    sleep 2
    clear
    echo -e "\033[31m \n Starting Auth ..\033[0m"
    cd ../auth
    ./auth &
    sleep 2
    clear
    echo -e "\033[31m \n Starting CH 1 ..\033[0m"
    cd ../../channel1/
    ./game &
    sleep 2
    clear
    echo -e "\033[31m \n Starting CH 2 ..\033[0m"
    cd ../channel2/
    ./game &
    sleep 2
    clear
    echo -e "\033[31m \n Starting Game99 ..\033[0m"
    cd ../game99/
    ./game &
    sleep 2
    clear
    echo -e "\033[32m \n A szerver elindult!\033[0m"
    ;;
    esac


    Írjuk át a következő módon:

    #!/bin/sh


    echo -e "\033[31m 
    Mennyi ch-t ind'itsak? \n
    1 - (1) Ch\n
    2 - (2) Mindd\033[0m"

    read chs

    case $chs in
    1*)
    echo -e "\033[31m Starting Database ..\033[0m"
    cd ./g1/db/
    ./db &
    sleep 2
    clear
    echo -e "\033[31m \n Starting Auth ..\033[0m"
    cd ../auth
    ./auth &
    sleep 2
    clear
    echo -e "\033[31m \n Starting CH 1 ..\033[0m"
    cd ../../channel1/
    ./game &
    sleep 2
    clear
    echo -e "\033[31m \n Starting CH 99 ..\033[0m"
    cd ../game99/
    ./game &
    sleep 2
    clear
    echo -e "\033[32m \n CH1 elindult\033[0m"
    ;;
    2*)
    echo -e "\033[31m Starting Database ..\033[0m"
    cd ./g1/db/
    ./db &
    sleep 2
    clear
    echo -e "\033[31m \n Starting Auth ..\033[0m"
    cd ../auth
    ./auth &
    sleep 2
    clear
    echo -e "\033[31m \n Starting CH 1 ..\033[0m"
    cd ../../channel1/
    ./game &
    sleep 2
    clear
    echo -e "\033[31m \n Starting CH 2 ..\033[0m"
    cd ../channel2/
    ./game &
    sleep 2
    clear
    echo -e "\033[31m \n Starting CH 3 ..\033[0m"
    cd ../channel3/
    ./game &
    sleep 2
    clear
    echo -e "\033[31m \n Starting Game99 ..\033[0m"
    cd ../game99/
    ./game &
    sleep 2
    clear
    echo -e "\033[32m \n A szerver elindult!\033[0m"
    ;;
    esac


    2. Mentsük el, töltsük vissza a helyére (777 es jogot ne felejtsük el!)

    3. Töltsük le a close.sh-t. Nyissuk meg szövegszerkesztővel. Valahogy így néz ki:

    #!/bin/sh


    echo -e "\033[31m
    Mennyi ch-t 'all'itasz le? \n
    1 - (1) Channel 1 \n
    2 - (2) Channel 2 \n
    3 - (3) Mindd \033[0m"

    read chs

    case $chs in
    1*)

    echo -e "\033[31m \n Stopping CH 1 ..\033[0m"
    cd ./channel1/
    ./shut.sh &
    sleep 2
    clear
    cd ../
    ./g1.sh
    ;;
    2*)

    echo -e "\033[31m \n Stopping CH 2 ..\033[0m"
    cd ./channel2/
    ./shut.sh &
    sleep 2
    clear
    cd ../
    ./g1.sh
    ;;
    3*)
    echo -e "\033[31m Stopping Database ..\033[0m"
    cd ./g1/db/
    ./shut.sh &
    sleep 2
    echo -e "\033[31m \n Stopping Auth ..\033[0m"
    cd ../auth
    ./shut.sh &
    sleep 2
    clear
    echo -e "\033[31m \n Stopping CH 1 ..\033[0m"
    cd ../../channel1/
    ./shut.sh &
    sleep 2
    echo -e "\033[31m \n Stopping CH 2 ..\033[0m"
    cd ../channel2/
    ./shut.sh &
    sleep 2
    clear
    echo -e "\033[31m \n Stopping CH 99 ..\033[0m"
    cd ../game99/
    ./shut.sh &
    sleep 2
    clear
    echo -e "\033[32m \n A szerver le'allt!\033[0m"
    ;;
    esac


    Írjuk át a következő képpen:

    #!/bin/sh


    echo -e "\033[31m
    Mennyi ch-t 'all'itasz le? \n
    1 - (1) Channel 1 \n
    2 - (2) Channel 2 \n
    3 - (3) Channel 3 \n
    4 - (4) Mindd \033[0m"

    read chs

    case $chs in
    1*)

    echo -e "\033[31m \n Stopping CH 1 ..\033[0m"
    cd ./channel1/
    ./shut.sh &
    sleep 2
    clear
    cd ../
    ./g1.sh
    ;;
    2*)

    echo -e "\033[31m \n Stopping CH 2 ..\033[0m"
    cd ./channel2/
    ./shut.sh &
    sleep 2
    clear
    cd ../
    ./g1.sh
    ;;
    3*)

    echo -e "\033[31m \n Stopping CH 3 ..\033[0m"
    cd ./channel3/
    ./shut.sh &
    sleep 2
    clear
    cd ../
    ./g1.sh
    ;;
    4*)
    echo -e "\033[31m Stopping Database ..\033[0m"
    cd ./g1/db/
    ./shut.sh &
    sleep 2
    echo -e "\033[31m \n Stopping Auth ..\033[0m"
    cd ../auth
    ./shut.sh &
    sleep 2
    clear
    echo -e "\033[31m \n Stopping CH 1 ..\033[0m"
    cd ../../channel1/
    ./shut.sh &
    sleep 2
    echo -e "\033[31m \n Stopping CH 2 ..\033[0m"
    cd ../channel2/
    ./shut.sh &
    sleep 2
    echo -e "\033[31m \n Stopping CH 3 ..\033[0m"
    cd ../channel3/
    ./shut.sh &
    sleep 2
    clear
    echo -e "\033[31m \n Stopping CH 99 ..\033[0m"
    cd ../game99/
    ./shut.sh &
    sleep 2
    clear
    echo -e "\033[32m \n A szerver le'allt!\033[0m"
    ;;
    esac


    4. Mentsük el, töltsük vissza.

    5. Töltsük le a clear.sh-t majd nyissuk meg. Valahogy így néz ki:

    #!/bin/sh
    cd ./g1/auth
    ./clear_logs.sh
    cd ../db
    ./clear_logs.sh
    cd ../../channel1
    ./clear_logs.sh
    cd ../channel2
    ./clear_logs.sh
    cd ../game99
    ./clear_logs.sh
    sleep 1
    cd ..


    Írjuk át a következő képpen:

    #!/bin/sh
    cd ./g1/auth
    ./clear_logs.sh
    cd ../db
    ./clear_logs.sh
    cd ../../channel1
    ./clear_logs.sh
    cd ../channel2
    ./clear_logs.sh
    cd ../channel3
    ./clear_logs.sh
    cd ../game99
    ./clear_logs.sh
    sleep 1
    cd ..


    A szerver része teljesen készen van. Már csak annyi a dolgunk, hogy hozzáadjuk a portmappban/rooterben az 13002 es portot, és a serverinfo.py-t megcsináljuk. Azt hiszem utóbbit mindenki meg tudja csinálni, aki a szerverbe be tudta tenni a cht.

    A módszer saját, ki is próbáltam, nekem sikerült, ilyen módon egy kis logikával annyi cht rakhatunk a szerverbe, amennyit csak szeretnénk/elbír a szerver. Talán magától értetődő, de a CONFIG fájlban a porthoz és a p2p_porthoz olyat írjunk, amit nem használ más program, illetve a szerver. Pld ha ch4 et szeretnénk akkor: port: 13003, p2p_port: 14003.

    Ha valamit elrontottatok, nem megy, akármi, írjatok pmet, és ha tudok, segítek.

    UI: MINDEN szerverfájlban működik, csak más az elérési út, máshogy néznek ki az sh fájlok. Ha kicsit gondolkozol, meg tudod csinálni. (DE ha nem megy, pm, és megpróbálok segíteni.)
    Ha nem látod a válaszom, valamit elrontottál: