Table of content

Pregled

Roliserver je namenjen gostovanju več iger na istem računalniku. Skupnosti igralcev RPG-jev lahko to storitev ponudijo svojim uporabnikom.

Prvi zagon

Priporočamo

roliserver -p config.conf

Ustvari prazno konfiguracijsko datoteko z imenom "config.conf" (po želji spremenite ime).

:::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()

Spremenite vrednost glede na svoje potrebe. Vrstni red elementov ni pomemben.

Konfiguracijska datoteka

Geslo

Določite geslo za dostop do strežnika. Vsako geslo

Najprej zaženite strežnik s parametrom -g.

$ roliserver -g

Pozove vas, da vnesete geslo. Nato izpiše šifrirano različico vašega gesla.

P9d63VIxEvincVCutARz0W86GFFX36h0zWEIUomzusZmnv3krtcEsXzZWKKXXv6Ivag+8fR2a7tRWoaaIu3L1w==

Nato lahko ta ključ kopirate/prilepite v svojo datoteko.

Rolisteam ponuja grafično orodje za generiranje gesla s Sha3_512.

Opozorilo: prepričajte se, da imate strežnik nameščen s Qt5.9 ali novejšim. Sha3_512 na starejši različici Qt ne deluje pravilno. Morda boste imeli težave s povezavo s strežnikom.

Vrata

Določite vrata za povezavo. Običajna vrata so 6660, vendar jih je mogoče spremeniti.

ConnectionMax

Določite največje število odjemalcev, ki jih strežnik dovoljuje.

ChannelCount

Določite število kanalov ob prvem zagonu strežnika.
V bistvu to določa število iger, ki jih lahko vaš strežnik hkrati sprejme.

Administratorsko geslo

Določite geslo za zaščito avtentikacije kot administrator strežnika. Geslo je še vedno šifrirano v Sha3_512.

Administrator lahko izključi uporabnike, doda/izbriše kanale in še veliko več.

LogLevel

Raven dnevnika je številska vrednost, ki določa raven podrobnosti, ki jih želite vedeti.

Možne vrednosti:

  • 1: Napaka
  • 2: Odpravljanje napak
  • 3: Opozorilo
  • 4: Informacije

Na ravni Napaka strežnik prikaže samo sporočilo o napaki.
Raven Odpravljanje napak je uporabna, ko želite izboljšati strežnik, dodati nekaj funkcij in tako naprej.
Sporočilo Opozorilo prikaže sporočilo o nepričakovanih podatkih ali vedenju.
Na koncu Raven informacij poda podrobnosti o tem, kaj strežnik počne.

Preden objavite zahtevo za odpravo napake, je dobro, da aplikacijo zaženete z informacijsko ravnjo kot z ravnijo dnevnika, da ekipi zagotovite čim več informacij.

DeepInspectionLog

Zabeležite vse dogodke s strežnika. Aktiviranje te možnosti lahko upočasni strežnik.

Možne vrednosti:

  • true
  • false

LogFile

Nastavite pot, kamor se zapisujejo dnevniki.

Primer

LogFile=/var/log/roliserver.log

ThreadCount

Določite največje število niti, ki jih lahko strežnik uporabi.

TimeToRetry

Čakalni čas (v milisekundah) med dvema poskusoma poslušanja vrat.

Strežnik posluša vse povezave na vratih, definiranih v tej datoteki. V redkih primerih ta korak lahko ne uspe. Verjetno zato, ker drug strežnik že posluša ta vrata. Zato bo roliserver poskusil večkrat.

TryCount

Določi, kolikokrat bo strežnik poskušal poslušati vrata. Če je to število doseženo, strežnik zapre stanje napake.

TimeStart

Določi čas v dnevu, ko strežnik dovoli povezavo.

It should be written as: hh:mm Hours must be defined by two numbers as the minutes.

Examples: 8pm

20:00

6am

06:00

TimeEnd

Določi čas, ko strežnik preneha sprejemati.

It should be written as: hh:mm Hours must be defined by two numbers as the minutes.

Examples: 8pm

20:00

6am

06:00

IpBan

določi seznam prepovedanih IP-naslovov.

Primeri: Seznam s 3 naslovi

80.80.80.80,127.9.9.1,10.10.10.10

IpMode

ipv4 ali ipv6 ali oboje.

Še ni uporabljen.

MaxMemorySize

Nastavi vrednost največje velikosti, ki jo lahko strežnik shrani. Ko je omejitev dosežena, vsi kanali izgubijo svoje podatke.

Primer:

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

Primer delujoče datoteke .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

Kot geslo bo uporabljeno 0000. Priporočljivo je, da si ustvarite svoje lastno geslo z orodjem za ustvarjanje gesel, ki je na voljo v odjemalcu rolisteam.

Uporaba na SystemD

Ustvarimo našo servisno datoteko

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

Nato kopirajte in prilepite to v 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

Nato omogočite in zaženite storitev:

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