Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Python Server Tool


Deucalion

Rekomendowane odpowiedzi

Opublikowano

Siema

Dzisiaj chciałbym się z wami podzielić moim skryptem napisanym juz jakiś czas temu, który pozwala przynajmniej według mnie łatwiej zarządzać serwerem metin2 czy samym systemem FreeBSD.

Skrypt ten wykonuje nasze polecenie (oczywiście w miarę funkcjonalności, staram się co jakiś czas je aktualizować)

Co to znaczy?

Wpisujemy np. wlacz ch 1 , wtedy wlacza nam 1 channel razem z db i auth oraz wszystkie rdzenie (ich ilosc ustawiamy w config.py)

Nie ma znaczenia czy piszemy duzymi, malymi literami on i tak rozpozna o co nam chodzi...

Przykładowe polecenie (według mnie najczęsciej uzywane)

- Wlacz ch 1

- Wlacz 2 channele

- Wylacz db,auth,2 channel itp.

- Zainstaluj apache22 - W zaleznosci od nazwy zainstaluje nam taka paczke

- Przeladuj questa (dziala jak qc)

- Przeladuj questy (dziala jak sh make)

- Zaktualizuj porty 

- Zrob backup wszystkiego/mysql/siebie - Odpowiednio robi backup plikow, mysql i swojego folderu/samego mysql/ i samego swojego folderu

Backup Mysql jest robiony metodą mysqldumb przez co nie powinno uszkodzić tabel

Mozna również robić backupa wybranych tabel np. player,account,common itp.

Po zrobienio backupa pyta sie cz wysłać go na zewnetrzy hosting (dane do niego podajemy w config.py)

- Pobierz backup - Pobiera backup z zewnętrznego hostingu ( my wybieramy tylko date)

Jeszcze co do hostingu ja akurat używam i polecam hostinger.pl jest darmowa opcja z 2gb miejsca :)

- Usun logi - usuwa logi z serwera

- Wylacz/ zrestartuj system - odpowiednio wylacza/restartuje freebsd

- Konwertuj item_proto z xml do sql / z xml do txt (item_proto_dump.xml musi się znajdowac w katalogu /Russell/input)

 

Można rownież łączyć polecenia np. wylacz serwer (wylacza wszystkie ch , db i auth) i zrob backup wszystkiego i wylacz system

Co ciekawe mozna wykorzystywać w nim polecenia systemowe freebsd oraz łączyć je z tymi ze skryptu np. wylacz ch 1 i ps (w ten sposob wylaczy ch 1, db i auth oraz pokaze nam procesy)

To chyba tyle na temat funkcjonalności, są 2 języki mozliwe do wyboru na ten moment polski i angielski

Teraz pare screenow i coś o instalacji.

6652714075748941048699.jpg

4365614075748951048699.jpg

 

INSTALACJA

Skrypt instalacyjny:

http://pastebin.com/XQTRgpMj

Zapisujecie go w folderze głównym systemu np. w pliku instalacja.py , nastepnie odpalacie przez polecenie

python2.7 /instalacja.py

Skrypt insalacyjny jest w języku angielskim, ale to chyba nie jest żaden problem ;) Instaluje on pythona3.3, pymysql oraz sciaga mój skrypt oraz tworzy do niego skrypt uruchamiający

oczywiscie jezeli mamy zainstalowanego np. pythona 3.3 lub py mysql to przy instalacji zaznaczamy ze mamy juz t zainstalowane.

 

Po zainstalowaniu należy stworzyć taką tabelę w mysql:

create database Russell;
Use Russell;
DROP TABLE IF EXISTS `lang`;
CREATE TABLE `lang` (
`Language` varchar(20) NOT NULL,
PRIMARY KEY (`Language`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
DROP TABLE IF EXISTS `privilages`;
CREATE TABLE `privilages` (
`id` varchar(20) NOT NULL DEFAULT '0',
`login` varchar(20) NOT NULL,
`password` varchar(20) NOT NULL,
`name` varchar(20) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

i w Russell.lang wpisać Polish, dzieki temu skrypt (Russell) odpali się w języku polskim.

Uruchamiamy go przez wpisanie w konsoli 

russell

(Nie wazne w jakim katalogu jesteśmy, zadziała)

 

To chyba tyle, mam nadzieję że komuś się to przyda, w razie pytań pytajcie i nie zapomnijcie o skonfigurowaniu config.py, bez tego niektóre polecenia nie będą działać ;)

Jeżeli macie jakieś pomysły na nowe funkcje to piszcie, nie jestem mistrzem programowania, więc jeżeli macie pomysly jak coś zrobic inaczej, lepiej to czekam na propozycje :)

 

Pozdrawiam

Deucalion

 

EDIT: Objasnienie do config.py po polsku gdyby ktoś potrzebował:

http://pastebin.com/tgBrtWaF
Opublikowano

Fajny pomysł, i dobre wykonanie.. tylko żeby ta domena http://sysforum.xx nie padła za kilka miesięcy, jak to zwykle z tym bywa. Jest szansa uzyskać kod źródłowy Metin2module.pyc? Myślę że bym się z niego sporo nauczył :P.

 

Osobiście dodałbym możliwość backup'u na zewnętrzny serwer.

 

 

Jest, dekompilator.

 

Jeżeli autor nie będzie si ę chciał dzielić tym kodem nad którym na pewno spędził trochę nocek, to to uszanuję, a dekompilator zachowaj dla siebie.

sygnatura2.png


Opublikowano

 

Fajny pomysł, i dobre wykonanie.. tylko żeby ta domena http://sysforum.xx nie padła za kilka miesięcy, jak to zwykle z tym bywa. Jest szansa uzyskać kod źródłowy Metin2module.pyc? Myślę że bym się z niego sporo nauczył :P.

 

Osobiście dodałbym możliwość backup'u na zewnętrzny serwer.

 

 

 

Jeżeli autor nie będzie si ę chciał dzielić tym kodem nad którym na pewno spędził trochę nocek, to to uszanuję, a dekompilator zachowaj dla siebie.

 

 

Jest możliwość backupu na inny serwer, po zrobieniu backupa skrypt pyta czy wyslac go na zew hosting, oczywiście w pliku config.py musisz usupełnic dane do ftp :)

Kod źrodłowy raczej nie będzie udostępniony ale jezeli macie jakieś pytania to mogę pewne rzeczy wyjasnić, nie chcę po prostu udostepniać czegoś nad czym chwilę pracowałem mam nadzieję, że to zrozumiecie :)

Jeżeli macie jakieś pomysły to piszcie, ja na ten moment nie wiem co jeszcze można dodać przydatnego do tego skryptu dlatego liczę na wasze propozycje :)

Opublikowano

Odświeżę, może komuś się przyda jeszcze :)

Jeżeli ktoś ma problem z odpaleniem pliku russell (bo nie ma praw) to trzeba ręcznie nadać prawa 0555 w /bin/russell

Opublikowano

Fajnie jeśli to faktycznie działa tak jak zostało to opisane. Nie widzę jednak tu zbytniego przyspieszenia pracy, gdyż większość tych rzeczy i tak się robi 1 komendą. Nie ma więc różnicy, czy wpiszę ją w skrypcie .sh czy odpalę ten Tool. Tak czy inaczej like za pracę.

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...