Wiele serwerów z jednej instalacji

Od HLDS.pl
Skocz do: nawigacji, wyszukiwania

Spis treści

Opis

Na razie krótki opis jako odpalić kilka serwerów z jednego katalogu z grą, bazując na zmiennych przekazywanych do gry.

Nie da debili.

Przygotowanie

Powinieneś mieć pojęcie jak stawiać serwer gry ;D. Przykład na HLDS ale można zastosować do innych gier.

Prosta konfiguracja

Po prostu zdefiniujemy wartości zmiennych,aby nie były domyślne dla danego serwera.

W katalogu cstrike tworzymy dwa katalogi: logs27015 oraz logs27016

W tym celu robimy pliki:

  • server1.cfg, mapcycle1.txt, motd1.txt dla serwera numer 1
  • server2.cfg, mapcycle2.txt, motd2.txt dla serwera numer 2

Konfigurujemy pliki pod kątem każdego serwera, a w szczególności zwracamy uwagę aby zdefiniować poprawnie zmienne:

  • dla serwera nr 1 w server1.cfg
logsdir "logs27015"
servercfgfile "server1.cfg"
mapchangecfgfile "server1.cfg"
mapcyclefile "mapcycle1.txt"
motdfile "motd1.txt"
  • dla serwera nr 2 w server2.cfg
logsdir "logs27016"
servercfgfile "server2.cfg"
mapchangecfgfile "server2.cfg"
mapcyclefile "mapcycle2.txt"
motdfile "motd2.txt"
  • Teraz robimy dwie komendy uruchamiające serwery, na przykład dla pierwszego komenda będzie wyglądało tak:
hlds_run -game cstrike +exec server1.cfg +map de_dust +port 27015

a dla drugiego

hlds_run -game cstrike +exec server2.cfg +map de_aztec +port 27016

Rozszerzenie

Wszystko fajnie, działa, ale jest jeden szkopuł - jak mamy dodatki do serwerów typu AMX Mod X to będą współdzielone konta adminów itd, może to być niewygodne, a szczególnie jak się logi zaczną nadpisywać w AMX.

  • Specjalnie do tego stworzymy pliki konfiguracyjne pod MetaModa: w cstrike/addons/ tworzymy pliki plugins1.ini oraz plugins2.ini. W nich obu definiujemy tak samo nazwy pluginów jak w normalnym plugins.ini. W rzeczywistości można zrobić, że te pliki będą identyczne.
  • No dobra, oznacza to, że każdy serwer może mieć własne dodatki, ale trzeba go odpowiednio uruchomić.

Modyfikujemy komendy startowe tak aby wyglądały jak poniżej:

hlds_run -game cstrike +localinfo mm_pluginsfile "addons/metamod/plugins1.ini" +exec server1.cfg +map de_dust +port 27015

oraz

hlds_run -game cstrike +localinfo mm_pluginsfile "addons/metamod/plugins2.ini" +exec server2.cfg +map de_aztec +port 27012
  • Fajnie, ale to nie załatwia sprawy jeśli używamy jednego katalogu AMX (no chyba, że np w plugins1.ini będzie AMX Mod a w plugins2.ini AMX Mod X).

Tak więc trzeba trochę rozszerzyć listę zmian w plikach server1.cfg i server2.cfg aby zmienić konfiguracje dla dodatków.

  • Najłatwiej jest teraz skopiować katalog addons/amxmodx do addons/ammxodx-1/ oraz addons/amxmodx-2/, w podkatalogach nanosimy zmiany stosowne go każdego serwera.

Zwracam uwagę szczególnie na plik core.ini. Co więcej należy sprawdzić w plikach .sma czy maja poprawne odnośniki do katalogów konfiguracyjnych (niektóre maja na sztywno napisane addons/amxmodx/ - wtedy albo przepisujemy plugin na dynamicznie przydzielane wartości, albo odpowiednio edytujemy pliki dla każdego serwera i kompilujemy.

  • Aby zaktualizować wszystkie konfigi najlepiej przeszukać pliki czy zawierają ciąg addons/amxmodx/ albo amxmodx/ i podmienić odpowiednio ścieżkę na amxmodx-1/ oraz amxmodx-2
  • Znowu modyfikujemy komendy startowe serwera, tak aby teraz amxmodx działał poprawnie:
hlds_run -game cstrike +localinfo mm_pluginsfile "addons/metamod/plugins1.ini" +localinfo amx_basedir "addons/amxmodx-1" +exec server1.cfg +map de_dust +port 27015

oraz

hlds_run -game cstrike +localinfo mm_pluginsfile "addons/metamod/plugins2.ini" +localinfo amx_basedir "addons/amxmodx-2" +exec server2.cfg +map de_aztec +port 27016

  • Odpal i zobacz ile narobiłeś błędów :D

Inne możliwości

Zamiast mordować się w kopiowanie warto zrobić symlinki (linki symboliczne) do plików, użytecznie jeśli serwery współdzielą np 95% konfiguracji i nie ma sensu wszystkiego kopiować (np.: katalogi z mapami, modelami, etc.). Szczególnie przydatne jak się ma kilka serwerów o podobnej konfiguracji - wtedy aktualizujemy 1 plik, i jest on od razu aktualny dla wszystkich serwerów. Oczywiście należy dokładnie przemyśleć co się robi i nie zapominać o kopii zapasowej.

Pamiętajcie też aby uaktualnić wszelkie ścieżki do takich dodatków jak psychostats, czy HLStats. A z AMXBans sami sobie poradzicie :D

Opis można dostosować do wielu innych dodatków, np.: AMX, czy HLGuard. Jednak należy przekopać się przez dokumentacje pluginu, aby poznać wszelkie możliwości modyfikacji.

Osobiste
Przestrzenie nazw
Warianty
Działania
HLDS.pl - Menu:
Inne
IRC
Inne sekcje:
Znajomi:
Narzędzia