PL/Server Manual: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
(replaced IRC with Discord)
(Aktualizacja 1/2)
Line 8: Line 8:


=== Linux ===
=== Linux ===
Serwer pod Linuksem można zainstalować na dwa sposoby:  
Serwer pod Linuksem można zainstalować na kilka sposobów:
* [http://wiki.github.com/multitheftauto/multitheftauto/building-on-gnulinux Kompilując kod źródłowy ]
* [[Installing and Running MTASA Server on GNU Linux | Instalując i uruchamiając MTA na systemie linux]]
* [http://linux.mtasa.com Uruchamiając gotowe binarki (wcześniej skompilowane pliki) ]
* [http://linux.mtasa.com Uruchamiając gotowe binarki (wcześniej skompilowane pliki) ]
* [[Building MTASA Server on GNU Linux | Kompilując własny kod źródłowy serwera]]


=== Linux (x64/x86) ===
Dodatkowe informacje możemy znaleźć [[PL/Linux_64 | tutaj]]
Dokładniejszy opis dedykowany instalacji serwera na systemach 64 lub 86 bitowych (które nie są wspierane przez zespół MTA) można znaleźć w moim [[PL/Linux_64 | dokładniejszym opisie ]]
 
Możesz doświadczyć różnych błędów i częstych problemów. Jeśli tak się dzieje to sprawdź
* [[Building MTASA Server on GNU Linux#Troubleshooting]]
 
=== FreeBSD ===
Możesz uruchomić MTA:SA na FreeBSD za pomocą emulatora Linuxa.
* Włącz [https://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/linuxemu-lbc-install.html Kompatybilność plików binarnych linuxa]
* Zainstaluj lub skompiluj następująće pakiet: hs-terminfo, linux_base-f10, linux-f10-sqlite3
* Zaintaluj [https://linux.mtasa.com/ Skompilowane binarki dla linuxa]


=== Windows ===
=== Windows ===
Line 22: Line 31:
* Klikamy na zainstaluj...
* Klikamy na zainstaluj...
* ...i gotowe!
* ...i gotowe!
Aby dowiedzieć się czym jest lista kontroli dostępu w pliku acl.ml, sprawdź [[PL/Access_Control_List|ACL]]<br/><br/>


== Konfiguracja serwera ==
== Konfiguracja serwera ==
Line 27: Line 38:


=== Ogólna konfiguracja ===
=== Ogólna konfiguracja ===
Podstawowa konfiguracja serwera znajduje się w pliku "mods/deathmatch/'''mtaserver.conf'''".
Podstawowa konfiguracja serwera znajduje się w pliku "mods/deathmatch/[[PL/mtaserver.conf|mtaserver.conf]]".
Plik ten można edytować za pomocą dowolnego edytora tekstu (jeśli nie mamy zainstalowanego żadnego "specjalistycznego" edytora - na Windowsie można użyć windowsowego ''notatnik''-a, zaś na Linuksie ''nano'' lub ''vi'').
Plik ten można edytować za pomocą dowolnego edytora tekstu (jeśli nie mamy zainstalowanego żadnego "specjalistycznego" edytora - na Windowsie można użyć windowsowego ''notatnik''-a, zaś na Linuksie ''nano'' lub ''vi'').
W pliku tym przy prawie każdej zmiennej znajduje się opis w języku angielskim, co jest dużym ułatwieniem.


=== Przekierowanie portów ===
=== Przekierowanie portów ===
Line 39: Line 48:
</syntaxhighlight>
</syntaxhighlight>


Odpowiadają one za to na jakim porcie (portach) będzie nasłuchiwał nasz serwer.  
Porty są potrzebne do prawidłowej konfiguracji serwera. Wyjaśnimy później, jak je ustawić, ale najpierw, jeśli chcesz, aby Twój serwer pojawiał się w przeglądarce serwerów, potrzebujemy innego portu, a jest to port ASE.
Jak już wcześniej była o tym mowa - panel-www domyślnie nasłuchuje na porcie 22005 (tutaj to ustawienie możemy zmienić).
Podobnie serwer domyślnie nasłuchuje na porcie 22003 (co również może ulec zmianie - w/g naszego "widzimisię").


(krótki przykład włączania i wyłączania ASE):
<syntaxhighlight lang="xml">
<syntaxhighlight lang="xml">
<ase>1</ase> <!-- 0 = wyłączony, 1 = włączony -->
<ase>1</ase> <!-- 0 = wyłączony, 1 = włączony -->
</syntaxhighlight>
</syntaxhighlight>
Teraz przekierujemy porty w Twoim routerze, co nie jest potrzebne, jeśli masz już otwarte wszystkie porty lub jeśli nie masz routera z zaporą sieciową. Jeśli tak, pomiń tę część.
Jeśli nie wiesz, jak działa przekierowanie portów w Twoim routerze, wejdź na [https://portforward.com/ Stronę Port Forward], znajdź tam model swojego routera i postępuj zgodnie z zawartymi tam instrukcjami.
Prawie w każdym routerze można ustawić typ portu: UDP lub TCP. Poniższa lista wyjaśni, jaki typ portu jest potrzebny do czego:
Główny port serwera: UDP
Port HTTP: TCP
Port ASE: UDP (jest to potrzebne, jeśli chcesz, aby Twój serwer pojawił się na liście serwerów)
Port ASE jest również łatwy do uzyskania - Port ASE = port głównego serwera + 123
Jeśli więc masz port głównego serwera ustawiony na 22003, port ASE będzie miał numer 22126.
'''Jeśli masz jakieś problemy''' (i przeszukałeś podaną wcześniej stronę [https://portforward.com/ portforward.com] to zapoznaj się z tym wątkiem
<br/>
[https://forum.mtasa.com/topic/115141-guide-port-forwarding-in-order-to-run-a-mta-server/ '''Przekierowanie portów dla serwerów MTA''']
''W najnowszej wersji serwera możesz sprawdzić status portu za pomocą komendy serwera [[PL/Server_Commands#openports|openports]].''


=== Kontrola klienta ===
=== Kontrola klienta ===


MTA San Andreas ma skonfigurowanego AntyCheata. Aby antycheat działał na wszystkich, należy ustawić minimalną wersje klienta.
Serwer MTA można skonfigurować na kilka sposobów. Możemy na przykład wyłączyć jakieś komponenty systemu AntyCheat, lub zezwolić na zmodyfikowane pliki gry. Wszystkie te ustawienia znajdują się w pliku '''mods/deathmatch/[[PL/mtaserver.conf]]'''. Możesz także zapoznać się z [[Anti-cheat guide | konfiguracją antycheat]].


Jeżeli chcesz ustawić minimalną wersje klienta, wyszukaj taką linijkę:
Jeżeli chcesz ustawić minimalną wersje klienta, wyszukaj taką linijkę:
Line 55: Line 82:
<minclientversion></minclientversion>
<minclientversion></minclientversion>
</syntaxhighlight>
</syntaxhighlight>
Minimalna wersja z antycheatem: 1.1.1-9.02320
Przykładowa wersja wygląda tak: 1.1.1-9.02320


=== Konta administratorskie ===
=== Konta administratorskie ===
Line 62: Line 89:
Aby dodać konto administratora, postępuj według tych kroków:<br>
Aby dodać konto administratora, postępuj według tych kroków:<br>
<ol>
<ol>
<li>Uruchom serwer i dodaj nowe konto za pomocą '''[[Server_Commands#addaccount|addaccount name password]]''' w konsoli serwera, o tak:
<li>Uruchom serwer i dodaj nowe konto za pomocą '''[[PL/Server_Commands#addaccount|addaccount name password]]''' w konsoli serwera, o tak:
<div style="margin: 10px 10px 10px 10px;">
<div style="margin: 10px 10px 10px 10px;">
<syntaxhighlight lang="xml">
<syntaxhighlight lang="xml">
Line 72: Line 99:
'''/register SEBA18293 12344321'''''
'''/register SEBA18293 12344321'''''
</div>
</div>
<li>Serwer wyświetli wiadomość, a ty zarejestrujesz konto.
<li>Serwer wyświetli wiadomość, że konto zostało zarejestrowane
<li>Następnie wyłącz serwer za pomocą '''shutdown''' w konsoli serwera.
<li>Następnie wyłącz serwer za pomocą '''shutdown''' w konsoli serwera.
<li>Serwer zostanie zatrzymany.</li>
<li>Serwer zostanie zatrzymany.</li>
Line 91: Line 118:
</div>
</div>


Gratulacje, dodałeś konto administratora.
Gratulacje, dodałeś konto administratora. W ten sposób możesz dodać dowolną liczbę administratorów lub użytkowników. Przyjrzyj się na przykład niektórym innym grupom i listom ACL. Dostęp do listy ACL można także uzyskać poprzez odpowiednie funkcje, sprawdź [[PL/ACL]].
 
Zaleca się zajrzeć do interfejsu internetowego, poniżej wyjaśnimy, jak to zrobić.
 
Uwaga: Istnieją również sposoby dodawania kont i edytowania uprawnień serwera podczas jego działania. "[[PL/Server_Commands#addaccount|addaccount <user> <password>]]" to wewnętrzne polecenie służące do dodawania kont, ale w celu dodania tych kont do określonych grup/list ACL konieczne będzie użycie interfejsu internetowego!
 
Można także zmodyfikować plik acl.xml podczas działania serwera i użyć komendy "[[Server_Commands#reloadacl|reloadacl]]"
</li>
</li>
</ol>
</ol>
Line 99: Line 132:
Możemy je uruchamiać, zatrzymywać, restartować.  
Możemy je uruchamiać, zatrzymywać, restartować.  


Interfejs WWW może zostać wyłączony poprzez ustawienie zmiennej:
Interfejs WWW może zostać wyłączony poprzez ustawienie parametru:
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
<httpserver>1</httpserver>
<httpserver>1</httpserver>

Revision as of 23:54, 29 March 2024

Pierwsze kroki

Uruchomienie swojego własnego serwera MTA:SA jest o wiele łatwiejsze niż mogłoby się wydawać. Jeżeli chciałbyś postawić serwer by pograć ze znajomymi lub po prostu z ludźmi z sieci - zachęcam do lektury.

Instalacja serwera

Poniżej opisane są sposoby instalacji serwera w zależności od posiadanego systemu operacyjnego.

Linux

Serwer pod Linuksem można zainstalować na kilka sposobów:

Dodatkowe informacje możemy znaleźć tutaj

Możesz doświadczyć różnych błędów i częstych problemów. Jeśli tak się dzieje to sprawdź

FreeBSD

Możesz uruchomić MTA:SA na FreeBSD za pomocą emulatora Linuxa.

Windows

Instalacja serwera na Windowsie jest prosta "jak budowa cepa".

  • Najpierw pobieramy instalator ze strony głównej
  • Po ściągnięciu uruchamiamy ów instalator
  • Wybieramy folder gdzie chcemy zainstalować MTA (serwer jest w jednej paczce z klientem)
  • Klikamy na zainstaluj...
  • ...i gotowe!

Aby dowiedzieć się czym jest lista kontroli dostępu w pliku acl.ml, sprawdź ACL

Konfiguracja serwera

Serwer Multi Theft Auto jest wstępnie konfigurowany z okna konsoli, z poziomu gry i z przeglądarki internetowej.

Ogólna konfiguracja

Podstawowa konfiguracja serwera znajduje się w pliku "mods/deathmatch/mtaserver.conf". Plik ten można edytować za pomocą dowolnego edytora tekstu (jeśli nie mamy zainstalowanego żadnego "specjalistycznego" edytora - na Windowsie można użyć windowsowego notatnik-a, zaś na Linuksie nano lub vi).

Przekierowanie portów

W pliku mtaserver.conf znajdują się takie dwie linijki:

<serverport>22003</serverport> 
<httpport>22005</httpport>

Porty są potrzebne do prawidłowej konfiguracji serwera. Wyjaśnimy później, jak je ustawić, ale najpierw, jeśli chcesz, aby Twój serwer pojawiał się w przeglądarce serwerów, potrzebujemy innego portu, a jest to port ASE.

(krótki przykład włączania i wyłączania ASE):

<ase>1</ase> <!-- 0 = wyłączony, 1 = włączony -->

Teraz przekierujemy porty w Twoim routerze, co nie jest potrzebne, jeśli masz już otwarte wszystkie porty lub jeśli nie masz routera z zaporą sieciową. Jeśli tak, pomiń tę część.

Jeśli nie wiesz, jak działa przekierowanie portów w Twoim routerze, wejdź na Stronę Port Forward, znajdź tam model swojego routera i postępuj zgodnie z zawartymi tam instrukcjami.

Prawie w każdym routerze można ustawić typ portu: UDP lub TCP. Poniższa lista wyjaśni, jaki typ portu jest potrzebny do czego:

Główny port serwera: UDP Port HTTP: TCP Port ASE: UDP (jest to potrzebne, jeśli chcesz, aby Twój serwer pojawił się na liście serwerów)

Port ASE jest również łatwy do uzyskania - Port ASE = port głównego serwera + 123 Jeśli więc masz port głównego serwera ustawiony na 22003, port ASE będzie miał numer 22126.

Jeśli masz jakieś problemy (i przeszukałeś podaną wcześniej stronę portforward.com to zapoznaj się z tym wątkiem
Przekierowanie portów dla serwerów MTA

W najnowszej wersji serwera możesz sprawdzić status portu za pomocą komendy serwera openports.

Kontrola klienta

Serwer MTA można skonfigurować na kilka sposobów. Możemy na przykład wyłączyć jakieś komponenty systemu AntyCheat, lub zezwolić na zmodyfikowane pliki gry. Wszystkie te ustawienia znajdują się w pliku mods/deathmatch/PL/mtaserver.conf. Możesz także zapoznać się z konfiguracją antycheat.

Jeżeli chcesz ustawić minimalną wersje klienta, wyszukaj taką linijkę:

<minclientversion></minclientversion>

Przykładowa wersja wygląda tak: 1.1.1-9.02320

Konta administratorskie

Zaleca się, aby serwer posiadał przynajmniej jedno konto administratora - tak, aby właściciel serwera miał w każdej chwili możliwość włączenia/wyłączenia serwera (lub danej jego części poprzez panel-www, konsole, grę).

Aby dodać konto administratora, postępuj według tych kroków:

  1. Uruchom serwer i dodaj nowe konto za pomocą addaccount name password w konsoli serwera, o tak:
    addaccount SEBA18293 12344321
    

    Notka: Jeżeli nie masz konsoli serwera, i zasób 'admin' nie jest uruchomiony, to możesz użyć komendy register, której użyjesz tak:\ /register SEBA18293 12344321

  2. Serwer wyświetli wiadomość, że konto zostało zarejestrowane
  3. Następnie wyłącz serwer za pomocą shutdown w konsoli serwera.
  4. Serwer zostanie zatrzymany.
  5. Otwórz plik 'mods/deathmatch/acl.xml' za pomocą edytora tekstu.
  6. Dodaj konto do grupy Admin
    <acl>
      ...
      <group name="Admin">
        <acl name="Admin"/>
        ...
        <object name="user.SEBA18293" />
      </group>
      ...
    </acl>
    

    Gratulacje, dodałeś konto administratora. W ten sposób możesz dodać dowolną liczbę administratorów lub użytkowników. Przyjrzyj się na przykład niektórym innym grupom i listom ACL. Dostęp do listy ACL można także uzyskać poprzez odpowiednie funkcje, sprawdź PL/ACL.

    Zaleca się zajrzeć do interfejsu internetowego, poniżej wyjaśnimy, jak to zrobić.

    Uwaga: Istnieją również sposoby dodawania kont i edytowania uprawnień serwera podczas jego działania. "addaccount <user> <password>" to wewnętrzne polecenie służące do dodawania kont, ale w celu dodania tych kont do określonych grup/list ACL konieczne będzie użycie interfejsu internetowego!

    Można także zmodyfikować plik acl.xml podczas działania serwera i użyć komendy "reloadacl"

Korzystanie z interfejsu WWW (panelu www)

Poprzez panel-www możemy zarządzać jak już wcześniej wspomniano konkretnymi elementami serwera (tzw. "zasobami" - z ang. resource). Możemy je uruchamiać, zatrzymywać, restartować.

Interfejs WWW może zostać wyłączony poprzez ustawienie parametru:

<httpserver>1</httpserver>

na 0.

Za poprawne działanie interfejsu WWW odpowiadają następujące zasoby:

  • resourcebrowser
  • resourcemanager
  • webadmin
  • webmap

Są one ustawione jako uruchamiane domyślnie w standardowej konfiguracji serwera.


Konfiguracja zewnętrznego serwera WWW (np. do serwowania plików statycznych tj. obrazki, cssy itd.)

Jeżeli twój serwer korzysta z edytowanych modeli aut, obrazków w grze (lub na wbudowanym serwerze www) możesz ustawić w ustawieniach serwera, aby zewnętrzny serwer WWW serwował pliki za nie odpowiedzialne. Domyślnie pliki serwowane są z serwera MTA (powyższa operacja może służyć przyśpieszeniu procesu pobierania - lub po prostu odciążeniu serwera).

Aby umożliwić pobieranie potrzebnych plików z zewnętrznego serwera, należy ustawić zmienną httpdownload i httpdownloadurl w konfiguracji serwera:

<httpdownload>1</httpdownload>
<httpdownloadurl>http://www.mojserwer.pl/skad/chce/sciagac/pliki</httpdownloadurl>

W tym momencie po uruchomieniu serwera w katalogu /mods/deathmatch/resourcecache/http-client-files będą znajdować się archiwa .zip zawierające pliki które należy wrzucić na wcześniej ustawiony zewnętrzny serwer www.

Domyślnie zostaną wygenerowane pliki dla wszystkich zasobów. Jeżeli chcielibyśmy aby domyślne (takie jak webadmin itd.) dalej korzystały z wbudowanego serwowania plików w MTA, możemy ustawić w konfiguracji serwera, aby wygenerowane zostały tylko pliki dla rozpakowanych (w katalogu resources) zasobów.

<httpautoclientfiles>1</httpautoclientfiles>

Uwaga:

  • Zaleca się nie używać w adresie zewnętrznego serwera www specjalnych znaków (takich jak !, ~).
  • Na końcu adresu zewnętrznego serwera nie należy stawiać "slesza" (/).

Uruchamianie serwera

Aby uruchomić serwer kliknij dwukrotnie na plik MTA-Server.exe. Na Linuksie uruchom komende ./mta-server.

Instalacja/Aktualizacja zasobów ("modów") na serwerze

Zasoby serwera (tzw. "mody") mogą być wgrane na dwa sposoby:

  • Archiwum ZIP (zawierające pliki zasobu)
  • Katalog zawierający pliki zasobu

Aby wgrać nowy zasób należy:

  1. Przenieść lub skopiować go do mods/deathmatch/resources/.
  2. W oknie konsoli serwera wpisać komendę refresh.

Usuwanie zasobów ("modów")

Usuwanie zasobów jest bardzo proste. Sprowadza się do:

  1. Usunięcia archiwum ZIP danego zasobu, lub jego katalogu.
  2. Wpisania w oknie konsoli komendy refresh.

Administrowanie serwerem

Aby uruchomić dany zasób wystarczy użyć polecenia (oczywiście bez nawiasu):

start [nazwa zasobu]

Następnie gdybyśmy chcieli go zatrzymać:

stop [nazwa zasobu]

Jeśli zrestartować:

restart [nazwa zasobu]

Administracja jest również możliwa poprzez panel www (wcześniej opisany) lub poprzez grę. Po zalogowaniu się na konto administratora:

/login [nazwa konta] [haslo]

i wciskając klawisz F8. W owym panel oferuje nam kick-owanie i banowanie graczy (czyli takie podstawowe czynności).

Uruchamianie map / Tryb gry

Więcej informacji znajdziesz tutajArtykuł w języku angielskim.

Uwagi

  1. Zasoby można odświeżać również w grze, jeżeli w nadamy odpowiednie uprawnienia w pliku acl.xml.
  2. W instrukcji zostały podane względne ścieżki (tzn. np. /deathmatch/resources odnosi się do katalogu w katalogu serwera).
  3. Można wybrać inny plik konfiguracyjny z którego będzie korzystać MTA, podając parametr --config [nazwa pliku konfiguracyjnego]
  4. Nie należy martwić się błędem dotyczącym pliku settings.xml.

Potrzebujesz pomocy ?

Potrzebujesz pomocy? Napisz na forum lub napisz na Discord.