Arma: server.cfg, missioner og mods

De tre konfigurationsfiler, missionsrotation der virker, forskellen på -mod og -serverMod, signaturer og keys-mappen - plus admin-kommandoerne.


Tre filer, tre formål

Fil Indlæses med Hvad den styrer
server.cfg -config= Servernavn, kodeord, admins, missioner, sikkerhed
basic.cfg -cfg= Netværksindstillinger og båndbredde
<navn>.Arma3Profile -profiles= + -name= Sværhedsgrad og hvilke hjælpemidler spillerne har

Arma har ingen standard-config. Peger -config= på en fil der ikke findes, indlæses ingen konfiguration - uden fejlbesked. Serveren starter fint, men uden dit navn, dine missioner og dine indstillinger. Det er den hyppigste "hvorfor sker der ingenting"-sag.

Navnene server.cfg og basic.cfg er ren konvention. Det er opstartsparametrene, der afgør hvilke filer der læses.


server.cfg

hostname          = "Min Arma server";
password          = "";
passwordAdmin     = "vaelg-noget-langt";
maxPlayers        = 40;
motd[]            = {"Velkommen til serveren.", "Regler i vores Discord."};
admins[]          = {"76561198000000000"};

logFile           = "server_console.log";
timeStampFormat   = "short";

verifySignatures  = 2;
BattlEye          = 1;
kickduplicate     = 1;
allowedFilePatching = 0;

disableVoN        = 0;
vonCodecQuality   = 10;

persistent        = 1;
Nøgle Betydning
hostname Navnet i serverbrowseren
password Kodeord for at joine. Tom = åben server
passwordAdmin Bruges med #login inde i spillet
admins[] SteamID64. De på listen kan bruge #login uden kodeord
maxPlayers Loftet er det laveste af denne og missionens antal slots
verifySignatures 2 kræver at alle klientens mods er signeret. 1 er udgået og opfører sig som 2
kickduplicate Smider spiller nummer to ud med samme ID
allowedFilePatching 0 ingen, 1 kun headless clients, 2 alle
persistent 1 lader missionen køre videre, når sidste spiller går
timeStampFormat none, short eller full i loggen
missionWhitelist[] Begrænser hvilke missioner en admin må vælge

Husk semikolon efter hver linje. Det er den anden store fejlkilde.


Missioner

Missioner er .pbo-filer i mappen mpmissions/. Navnet følger mønstret Missionsnavn.Terræn.pbo.

I server.cfg sættes rotationen op sådan:

class Missions
{
	class Mission1
	{
		template = MP_Marksmen_01.Altis;
		difficulty = "veteran";
		class Params {};
	};
	class Mission2
	{
		template = MP_End_Game_01.Altis;
		difficulty = "veteran";
		class Params {};
	};
};

Tre ting der går galt:

  • template skrives uden anførselstegn og uden .pbo. Filen MP_Marksmen_01.Altis.pbo bliver til template = MP_Marksmen_01.Altis;
  • Hver indre class lukkes med }; - både krøllet parentes og semikolon
  • Den ydre class Missions lukkes også med };

difficulty tager navnet på en sværhedsgrad: recruit, regular, veteran eller custom. Vælger du custom, hentes indstillingerne fra CustomDifficulty i din profilfil.

Uden en admin på serveren vælger den selv en mission, når den første spiller forbinder, og skifter til den næste i rækken, når missionen er slut.

Vil du have missionen til at køre videre uden spillere, sætter du persistent = 1; og starter serveren med -autoInit.


Mods

Der er to parametre, og forskellen er vigtig:

Parameter Betydning
-mod= Mods som spillerne også skal have. Kort, våben, ACE, CBA, RHS
-serverMod= Mods der kun kører på serveren. Admin- og logværktøjer. Spillerne behøver dem ikke

Syntaksen er semikolonsepareret uden mellemrum:

-mod=@CBA_A3;@ace;@RHSUSAF
-serverMod=@serverTools

På Linux skal semikolonerne escapes: -mod=@CBA_A3\;@ace\;@RHSUSAF. Uden det bliver kun det første mod indlæst.

Linux er også versalfølsomt. Et mod der virker på Windows, kan fejle på serveren, fordi mappe- eller filnavne har store bogstaver. Det er den klassiske Arma-på-Linux-fejl.

Afhængigheder først: @CBA_A3 skal stå før de mods, der kræver det.

Signaturer og keys-mappen

Med verifySignatures = 2; kontrollerer serveren, at hver eneste .pbo hos spilleren er signeret med en nøgle, serveren kender.

  1. Hvert mod har en keys-mappe med en .bikey-fil.
  2. Kopiér den .bikey over i serverens egen keys/-mappe i rodmappen.
  3. Genstart.

Mangler nøglen, bliver spilleren afvist - også selv om de har præcis det rigtige mod installeret.


basic.cfg

Netværksindstillingerne. Standardværdierne fungerer for de fleste:

MinBandwidth = 131072;
MaxBandwidth = 10000000000;
MaxMsgSend = 128;
MaxSizeGuaranteed = 512;
MaxSizeNonguaranteed = 256;
MinErrorToSend = 0.001;
MinErrorToSendNear = 0.01;
MaxCustomFileSize = 0;
Nøgle Standard Betydning
MaxMsgSend 128 Pakker per simulationscyklus
MaxSizeGuaranteed 512 Størrelse på garanterede pakker - fx skud
MaxSizeNonguaranteed 256 Størrelse på ikke-garanterede pakker - fx positioner
MinBandwidth 131072 Garanteret båndbredde
MaxCustomFileSize 0 0 betyder at spillere ikke må have egne filer

MinBandwidth og MaxBandwidth angives i bits per sekund, ikke bytes. Det misforstås konstant.


Admin inde i spillet

Skriv i chatten:

#login dit-admin-kodeord

Står du i admins[], kan du nøjes med #login uden kodeord.

Kommando Hvad den gør
#missions Vælg mission fra listen
#restart Genstart missionen
#reassign Start forfra og fordel roller igen
#lock / #unlock Luk og åbn for nye spillere
#kick <navn> Smid en spiller ud
#exec ban <navn> Udeluk en spiller. ID'et skrives i ban.txt
#init Genindlæs server.cfg
#monitor 5 Vis serverens ydelse hvert femte sekund
#userlist Vis alle på serveren
#shutdown Luk serveren ned

En logget ind admin rangerer over en valgt admin, som spillerne har stemt frem.


Headless client - kort fortalt

En headless client er en ekstra Arma-proces, der forbinder som en spillerløs klient og overtager AI'en, så serveren kan koncentrere sig om spillerne.

I server.cfg:

headlessClients[] = {"127.0.0.1"};
localClient[]     = {"127.0.0.1"};

Den skal køre præcis samme -mod=-liste som serveren, og har serveren et kodeord, skal den også bruge det. Vær opmærksom på, at missionen selv skal være skrevet til at bruge headless clients - ellers gør den ingen forskel.


Fejlfinding

Symptom Sandsynlig årsag Løsning
Serveren starter, men uden mine indstillinger -config= peger på en fil, der ikke findes Tjek stien - der er ingen standardfil
Serveren afviser at starte Syntaksfejl: manglende semikolon eller krøllet parentes Tjek især }; efter hver class
Missionslisten er tom .pbo ligger ikke i mpmissions/, eller template indeholder .pbo Ret begge dele
Spilleren afvises med signaturfejl .bikey ligger ikke i serverens keys/-mappe Kopiér nøglen over og genstart
Spilleren afvises for mod-mismatch Modet ligger i -serverMod=, men spillerne skal have det Flyt det til -mod=
Kun det første mod indlæses på Linux Semikoloner ikke escapet Brug \; mellem mods
Mods virker på Windows, ikke på serveren Store bogstaver i filnavne Alt skal være små bogstaver på Linux
Spillere sparkes ud ved join MaxCustomFileSize er 0 Det er med vilje - hæv den, hvis du vil tillade egne filer
Missionen stopper når sidste spiller går persistent = 0 Sæt den til 1, og brug -autoInit
Sværhedsgraden ændrer sig ikke difficulty peger på en preset, eller profilen indlæses ikke Tjek -name= og -profiles=
Tilfældige BattlEye-kick BattlEye ikke opdateret i begge ender Opdatér BE på server og klient

Gode råd

  • Ret én ting ad gangen, og brug #init til at genindlæse server.cfg uden at genstarte hele serveren.
  • Hold verifySignatures = 2 og BattlEye = 1 slået til på en offentlig server.
  • Brug filePatchingExceptions[] med varsomhed - den springer både filpatching- og signaturkontrol over for de nævnte spillere.
  • Skriv jeres regler i motd[]. Det er det første, spillerne ser.
  • Tag en kopi af server.cfg, før du roder i class Missions. Én manglende }; vælter hele filen.

Kan din server ikke indlæse en mission eller et mod? Send os server_console.log i en ticket - fejlen står som regel tydeligt.

ArmaBestil nu

Guide information

Udgivet
23. august 2026
Sidst opdateret
24. august 2026
Visninger
13