Table of content

Prehľad

Roliserver je určený na hosťovanie viacerých hier na tom istom počítači. Komunity RPG hráčov môžu túto službu ponúknuť svojim používateľom.

Prvé spustenie

Dôrazne odporúčame spustiť roliserver nasledovne:

roliserver -p config.conf

Vygeneruje prázdny konfiguračný súbor s názvom "config.conf" (zmeňte názov, ak chcete).

:::ini
[General]
AdminPassword=@Invalid()
ChannelCount=@Invalid()
ConnectionMax=@Invalid()  
IpBan=@Invalid()
IpMode=@Invalid()
IpRange=@Invalid()
LogLevel=@Invalid()
DeepInspectionLog=@Invalid()
ThreadCount=@Invalid()
TimeEnd=@Invalid()
TimeStart=@Invalid()
TimeToRetry=@Invalid()
password=@Invalid()
port=@Invalid()
TryCount=@Invalid()
MaxMemorySize=@Invalid()

Zmeňte hodnoty podľa svojich potrieb. Poradie prvkov nie je dôležité.

Konfiguračný súbor

Heslo

Definujte heslo na prístup k serveru. Každé heslo uložené v tomto súbore musí byť zašifrované metódou Sha3_512. Nebojte sa, je to naozaj jednoduché.

Najprv spustite server s parametrom -g.

$ roliserver -g

Vyzve vás zadať heslo. Potom vypíše zašifrovanú verziu vášho hesla.

P9d63VIxEvincVCutARz0W86GFFX36h0zWEIUomzusZmnv3krtcEsXzZWKKXXv6Ivag+8fR2a7tRWoaaIu3L1w==

Potom môžete tento kľúč skopírovať/vložiť do svojho súboru.

Rolisteam ponúka grafický nástroj na generovanie hesiel pomocou Sha3_512.

Upozornenie: uistite sa, že spúšťate server s Qt5.9 alebo vyšším. Sha3_512 na starších verziách Qt nefunguje správne. Môžete mať problémy s pripojením k serveru.

Port

Definujte port pripojenia. Bežný port je 6660, ale môže byť zmenený.

ConnectionMax

Definujte maximálny počet klientov, ktorý server povolí.

ChannelCount

Definujte počet kanálov pri prvom spustení servera.
>V podstate to definuje počet hier, ktoré váš server môže prijať súčasne.

Heslo správcu

Definujte heslo na ochranu autentifikácie ako správca servera. Heslo je stále zašifrované v Sha3_512.

Správca môže vykopnúť používateľov, pridávať/mazať kanály a mnoho iných vecí.

LogLevel

Úroveň záznamu je číselná hodnota definujúca úroveň detailov, ktoré chcete vedieť.

Možná hodnota:

  • 1 : Chyba
  • 2 : ladenie
  • 3 : Upozornenie
  • 4 : Informácia

Na úrovni Chyba server zobrazuje len chybové správy.
Úroveň ladenie je užitočná, keď chcete vylepšiť server, pridať niektoré funkcie a podobne.
Správa Upozornenie zobrazuje správy o neočakávaných dátach alebo správaní.
Nakoniec, úroveň Informácia poskytuje podrobnosti o tom, čo server robí.

Pred podaním hlásenia o chybe je dobrým zvykom spustiť aplikáciu s úrovňou informácií ako úrovňou záznamu, aby ste tímu poskytli čo najviac informácií.

DeepInspectionLog

Zaznamenáva každú udalosť zo servera. Aktivácia tejto možnosti môže spomaliť server.

Možná hodnota:

  • true
  • false

LogFile

Nastavte cestu, kam sa zapisujú záznamy.

Príklad

LogFile=/var/log/roliserver.log

ThreadCount

Definujte maximálny počet vlákien, ktoré server môže používať.

TimeToRetry

Čas čakania (v milisekundách) medzi dvoma pokusmi o počúvanie na porte.

Server počúva akékoľvek pripojenie na porte definovanom v tomto súbore. V zriedkavých prípadoch môže tento krok zlyhať. Pravdepodobne preto, že iný server už počúva tento port. Preto sa roliserver pokúsi niekoľkokrát

TryCount

Definujte, koľkokrát sa server pokúsi počúvať na porte. Ak sa dosiahne toto číslo, server skončí so stavom chyby.

TimeStart

Definujte čas v priebehu dňa, kedy server povoluje pripojenie.

Malo by byť zapísané ako: hh:mm Hodiny musia byť definované dvoma číslami rovnako ako minúty.

Príklady: 20:00

20:00

6:00

06:00

TimeEnd

Definujte čas, kedy server prestáva prijímať pripojenia.

Malo by byť zapísané ako: hh:mm Hodiny musia byť definované dvoma číslami rovnako ako minúty.

Príklady: 20:00

20:00

6:00

06:00

IpBan

Definujte zoznam zakázaných IP adries.

Príklady: Zoznam s 3 adresami

80.80.80.80,127.9.9.1,10.10.10.10

IpMode

ipv4 alebo ipv6 alebo oboje.

Zatiaľ sa nepoužíva.

MaxMemorySize

Nastavte hodnotu maximálnej veľkosti, ktorú by mal server ukladať. Keď je limit dosiahnutý, všetky kanály zahodia svoje údaje.

Príklad:

:::ini
MaxMemorySize=8G  #Define the size at 8 Gibibyte
MaxMemorySize=8M  #Define the size at 8 Mebibyte

Príklad funkčného súboru .conf:

AdminPassword=tnjOmGIvYntbNcoej2VvG9M1RdJCtZ8BWjHek4r6OvvmhThbjjzJ/zfYwq+G7r/TGe7WWr20vkGBzULuTzcPYQ==
ChannelCount=8
ConnectionMax=50
IpBan=@Invalid()
IpMode=@Invalid()
IpRange=@Invalid()
LogLevel=3
LogFile=
ServerPassword=tnjOmGIvYntbNcoej2VvG9M1RdJCtZ8BWjHek4r6OvvmhThbjjzJ/zfYwq+G7r/TGe7WWr20vkGBzULuTzcPYQ==
ThreadCount=8
TimeEnd=@Invalid()
TimeStart=@Invalid()
TimeToRetry=100
TryCount=10
port=6660

Toto bude používať 0000 ako heslo, odporúčame vytvoriť vlastné pomocou nástroja na tvorbu hesiel dostupného v klientovi Rolisteam.

Nasadenie na SystemD

Vytvorte súbor služby

$ sudo touch /etc/systemd/system/roliserver.service

Potom skopírujte a vložte toto do roliserver.service:

:::ini
[Unit]
Description=Rolisteam Server
After=network.target
StartLimitIntervalSec=0

[Service]
Type=simple
Restart=always
RestartSec=1
User=#your_username#
ExecStart=/usr/local/bin/roliserver -c /home/#your_username#/.roliserver.conf

[Install]
WantedBy=multi-user.target

Potom aktivujte a spustite službu:

:::shell
$ sudo systemctl enable roliserver.service
$ sudo systemctl start roliserver.service