Poradnik jak stworzyć serwer do gry One hour one life i na nim zagrać (v68)

in onehouronelife •  last year  (edited)

Cześć, w tym poradniku chciałbym omówić jak postawić serwer do gry One hour one life. Jest to polska wersja poradnika, który stworzyłem wczoraj. Jako, że nie miałem za bardzo czasu wczoraj, aby dodać obie wersje językowe, to też teraz tworzę dedykowaną wersję dla Polaków. Generalnie poradnik tworzę dlatego, gdyż nie istnieje obecnie nigdzie opis jak utworzyć taki serwer.

Polska wersja

Wymagania

Ten poradnik zakłada, że będziemy używali serwera linux do postawienia serwera. Ja użyję serwer linux z systemem operacyjnym Ubuntu 16.04. Wymagań sprzętowych nie znam, ale gra napisana w c++ powinna działać dość wydajnie, więc raczej dowolny VPS sobie z tym poradzi.

Kroki

Pierwsze co musimy zrobić, to pobrać narzędzia i biblioteki potrzebne do kompilacji i uruchomienia serwera. Aby to zrobić wykonujemy poniższą komendę:

sudo apt-get install git g++ imagemagick xclip libsdl1.2-dev libglu1-mesa-dev libgl1-mesa-dev

Dodatkowo, przyda nam się program, który będzie tworzył procesy w tle. Dzięki czemu po zamknięciu konsoli serwer będzie cały czas uruchomiony. Komenda jest następująca:

sudo apt-get install screen 

Kiedy już wszystko zainstalowaliśmy, musimy wejść na stronę gry i pobrać kody źródłowe serwera i gry. Najprościej używając linku poniżej. W polu yourgamecode podajemy kod do naszej gry.

http://onehouronelife.com/ticketServer/server.php?action=show_downloads&ticket_id=yourgamecode

Strona powinna wyświetlić coś takiego:

onedow.PNG

Ze strony potrzebujemy pliku OneLife_Live4_UnixSource.tar.gz.
Ten plik możemy pobrać programem wget używając komendę tak jak poniżej:

sudo wget http://download6.onehouronelife.com/downloads/OneLife_Live4_UnixSource.tar.gz

Link może się różnić, więc musicie sami zweryfikować czy link się zgadza. Jak pobraliście już archiwum z kodem, musimy rozpakować je używając komendy poniżej:

sudo tar xzf OneLife_Live4_UnixSource.tar.gz

Po wypakowaniu, wchodzimy do wypakowanego folderu komendą cd. Jeżeli nazwa folderu jest inna, to zmieńcie ją na poprawną. Przykładowo możecie użyć komendy:

cd OneLife_Live4_UnixSource

W folderze powinien znajdować się skrypt, który pobierze cały kod z repozytorium i skompiluje pliki gry.

sudo ./pullAndBuildLatest

Proces może chwilę zająć, więc jak się skończy, to przejdziemy do kompilacji serwera. Po zakończeniu procesu wchodzimy do folderu z plikami serwerowymi używając komendy poniżej:

cd OneLife/server

Teraz w folderze naszego serwera musimy go skonfigurować i skompilować. Poniższa komenda służy ustawieniu pod jaki system operacyjny będziemy robić serwer.

sudo ./configure

Po wykonaniu komendy powinniśmy zobaczyć coś takiego:

select.PNG

Naszym wyborem w tym przypadku będzie GNU/Linux Jeżeli masz inny system, wybiesz odpowiedni.
Po zatwierdzeniu wyboru kompilujemy serwer komendą:

make

Po ukończeniu, pozostało nam teraz podlinkowanie plików gry z plikami serwera używając komend po kolei linia za linią:

sudo ln -s ../../OneLifeData7/objects .
sudo ln -s ../../OneLifeData7/transitions .
sudo ln -s ../../OneLifeData7/categories .

Gdy wykonaliśmy powyższe kroki, możemy przetestować czy nasz serwer w ogóle się uruchamia używając komendy poniżej:

sudo ./OneLifeServer

Jeżeli zrobiłeś wszystko dobrze, to powinieneś ujrzeć coś takiego:

started.PNG

Żeby gracz mógł się połączyć do naszego serwera, musi ustawić ip serwera oraz włączyć opcję "niestandardowy serwer" u siebie na komputerze.

Aby to zrobić, gracz musi wejść do folderu z grą. Najczęściej ma on napis taki jak "OneLifev58". Gdy wejdziemy do folderu z grą, musimy wejść w ustawienia znajdujące się w folderze "settings". W tym folderze szukamy pliku customServerAddress.ini. Edytujemy go jakimś notatnikiem jaki posiadacie. W tym pliku ustawiamy ip serwera, do którego chcemy siępołączyć. Domyślnie plik ma adres localhost, usuwamy go i wstawiamy ip serwera. Po wpisaniu zapisujemy i zamykamy notatnik.Następny plik jaki edytujemy to plikuseCustomServer.ini. Ten plik mówi, że jak zmienimy w nim wartość z 0 na 1, to będziemy korzystać z ip serwera podanego w pliku customServerAddress.ini. Dodatkowo, nasza gra nie będzie się aktualizowała. Powodem jest to, że po zmianie wersji gry, nie moglibyśmy wejść już na serwer. Dlatego też, twórca tak to wykombinował. Zawsze możemy cofnąć zmianę ustawiając liczbę na 0. Jeżeli serwer ma inny port, to musimy go zmienić w plikucustomServerPort.ini. Wstawiamy tam po prostu numer portu i zapisujemy.
Ostatnia rzecz jaka może być potrzebna, to wpisanie hasła do serwera w pliku serverPassword.ini. Jeżeli serwer tego wymaga, to wpisujemy tam hasło serwera.
Gdy wszystko ustawiliśmy możemy wchodzić na serwer!
Włączmy grę i zalogujmy się na serwer. W konsoli administratora serwera, powinniśmy zobaczyć coś takiego:

yay.PNG

To znaczy, że nasz serwer działa i gracze mogą do niego wchodzić. Super!
Jak już wspominałem, serwer może działać na innym porcie. Pokażę wam teraz jak to zrobić w konfiguracji serwera.
Pierwsze co musimy zrobić, to wyłączyć serwer. Nie działa on na razie w tle, więc musimy użyć skrótu klawiszowego ctrl + d, który wyłącza serwer.
Podążając za tym poradnikiem, powinniśmy znajdować się w takiegj ścieżce: /OneLife_Live4_UnixSource/OneLife/server
Gdy jesteśmy, wejdźmy do folderu konfiguracyjnego serwera o nazwie settings używając komendy:

cd settings

Są tam takie pliki jak:
maxplayers.ini - pozwala ustawić maksymalną liczbę graczy
port.ini - pozwala ustawić inny port serwera niż domyślny
requireClientPassword.ini - wymusza włączenie hasła do serwera
clientPassword.ini - pozwala ustawić konkretne hasło do serwera

Gdy ustawiliśmy wszystko, zróbmy tak, żeby serwer działał ciągle "w tle".
Wróćmy do folderu server używając "confięcia" komendą:

cd ..

Żeby włączyć serwer w tle i nazwać proces oneliveserver, musimy użyć następującej komendy

sudo screen -dmS oneliveserver ./OneLifeServer

Po wykonaniu powyższej komendy, nasz serwer działa w tle i możemy sobie normalnie grać. Jeżeli chcemy podłączyć się do procesu serwera i zobaczyć naszą konsolę, to wpisujemy komendę:

screen -dr oneliveserver

Powyższa komenda odczepia proces od innego użytkownika i podczepia nas pod proces o nazwie oneliveserver
Jeżeli chcemy, żeby serwer znowu wrócił do trybu "w tle", musimy użyć dwóch skrótów klawiszowych :
ctrl + a
oraz
ctrl + d
To spowoduje, że serwer będzie znów działałał w tle.
Myślę, że to wszystko powinno wystarczyć do stworzenia serwera i gry na nim.

Powodzenia w tworzeniu i życzę miłej gry!

Wszystkie linki, które użyłem, aby stworzyć ten poradnik:

https://onehouronelife.gamepedia.com/Advanced_Settings#Custom_Server

https://github.com/jasonrohrer/OneLife/blob/095754746d35d3835097be4341b0df9ba9aca9e3/documentation/html/compileNotes.php

https://github.com/jasonrohrer/OneLife/blob/fd85518f76bad3ecf19a45408456e957ee11ea63/documentation/EditorAndServerBuildNotes.txt

http://onehouronelife.com/ticketServer/server.php?action=show_downloads&ticket_id=yourgamecode

Jeżeli podoba ci się moja praca tutaj, to zagłosuj na mnie:
https://steemit.com/~witnesses Podając nick grzegorz2047

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

I just upvoted You! (Reply "STOP" to stop automatic upvotes). Do społeczności: Jeżeli uważasz że głos został przyznany niesłusznie, przedstaw krótkie uzasadnienie w odpowiedzi do tego komentarza.