Wiele serwerów z jednej instalacji
(literrrrowki) |
(→Ekstra) |
||
Linia 57: | Linia 57: | ||
*Odpal i zobacz ile narobiłeś błędów :D | *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ć. | + | 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. | + | 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]]. | Pamiętajcie też aby uaktualnić wszelkie ścieżki do takich dodatków jak [[psychostats]], czy [[HLStats]]. | ||
A z [[AMXBans]] sami sobie poradzicie :D | A z [[AMXBans]] sami sobie poradzicie :D | ||
− | Opis można dostosować do wielu innych dodatków, np [[AMX]], czy [[HLGuard]] | + | 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. |
+ | |||
{{HLDS}} | {{HLDS}} |
Aktualna wersja na dzień 17:49, 23 lis 2006
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.