-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Management nl NL
Dit gedeelte heeft betrekking op onderwerpen die te maken hebben met een optimaal beheer van het ASF-proces. Hoewel niet strikt verplicht voor gebruik, omvat het een aantal tips, trucs en goede praktijken die we graag willen delen, speciaal voor systeembeheerders, verpakkingen mensen ASF voor gebruik in repositories van derden, maar ook geavanceerde gebruikers en geavanceerde gebruikers.
In generieke
en linux
varianten komt ASF met ArchiSteamFarm@. wispelturig
bestand, wat een configuratiebestand is van de dienst voor systemd
. Als je ASF wilt uitvoeren als een service, bijvoorbeeld om het automatisch te starten na het opstarten van je machine, dan is een goede systemd
service aantoonbaar de beste manier om het te doen. Daarom raden we het aan in plaats van het zelf te beheren met nohup
, screen
of hetzelfde.
Ten eerste, maak de account aan voor de gebruiker waarvan je ASF wilt gebruiken, ervan uitgaande dat deze nog niet bestaat. We gebruiken asf
gebruiker voor dit voorbeeld, als je hebt besloten een andere te gebruiken. Je moet een asf
gebruiker vervangen in al onze voorbeelden hieronder met de geselecteerde gebruiker. Onze dienst staat je niet toe ASF te draaien als root
, omdat het beschouwd wordt als een slechte praktijk.
su # Of sudo -i, om naar root-shell
useradd -m asf # CreΓ«er account dat je van plan bent te draaien onder ASF
Vervolgens moet ASF uitpakken naar /home/asf/ArchiSteamFarm
map. De mappenstructuur is belangrijk voor onze service-eenheid, het moet ArchiSteamFarm
map zijn in uw $HOME
, dus /home/<user>
. Als je alles correct hebt gedaan, zal er een /home/asf/ArchiSteamFarm/[email protected]
bestand bestaan. Als je linux
variant gebruikt en het bestand op Linux niet uitpakt, bijvoorbeeld de gebruikte bestandsoverdracht van Windows, dan moet je ook chmod +x /home/asf/ArchiSteamFarm/ArchiSteamFarm
.
We zullen alle onderstaande acties doen als root
, dus ga naar de shell met su
of sudo -i
.
Ten eerste is het een goed idee om ervoor te zorgen dat onze map nog steeds toebehoort aan onze asf
gebruiker, chown -hR asf:asf /home/asf/ArchiSteamFarm
uitgevoerd zal het eenmaal doen. De machtigingen kunnen verkeerd zijn, bijv. als u het zip-bestand hebt gedownload en/of uitgepakt als root
.
Ten tweede, als je generieke variant van ASF gebruikt moet je ervoor zorgen dat dotnet
commando herkend wordt en binnen een van de standaard locaties: /usr/local/bin
, /usr/bin
of /bin
. Dit is vereist voor onze systeemservice die dotnet /path/to/ArchiSteamFarm.dll
commando uitvoert. Controleer of dotnet --info
voor u werkt als ja, typ commando -v dotnet
om erachter te komen waar het zich bevindt. Als u het officiΓ«le installatieprogramma heeft gebruikt, moet het in /usr/bin/dotnet
of een van de twee andere locaties zijn. Als het in een aangepaste locatie is zoals /usr/share/dotnet/dotnet
, maak een symlink met behulp van ln -s "$(command -v dotnet)" /usr/bin/dotnet
. Nu moet command -v dotnet
rapporteren /usr/bin/dotnet
, wat ook onze systeemeenheid zal laten werken. Als je OS-specifieke variant gebruikt, hoef je niets in dit opzicht te doen.
Voer vervolgens ln -s /home/asf/ArchiSteamFarm/ArchiSteamFarm\@.service /etc/system/ArchiSteamFarm\@ uit. ervice
, dit zal een symbolische link maken naar onze service declaratie en deze registreren in systemd
. Met een Symbolische link kan ASF je systemd
eenheid automatisch bijwerken als onderdeel van ASF update - afhankelijk van je situatie. je kunt die benadering gebruiken of gewoon cp
het bestand zelf beheren hoe je wilt.
Daarna moet je ervoor zorgen dat systemd
onze dienst herkent.
systemctl status ArchiSteamFarm@asf
Γ [email protected] - ArchiSteamFarm Service (in asf)
Geladen: geladen (/etc/system/system/ArchiSteamFarm@. ervice; uitgeschakeld; vendor preset: enabled)
Actief: inactief (dood)
Docs: https://github.com/JustArchiNET/ArchiSteamFarm/wiki
Let vooral op de gebruiker die we na @
declareren, het is asf
in ons geval. Onze systeem-service unit verwacht van u om de gebruiker te verklaren, omdat het de exacte plaats beΓ―nvloedt van de binaire /home/<user>/ArchiSteamFarm
, evenals het eigenlijke gebruikerssysteem zal het proces laten spawnen.
Als het systeem de uitvoer naar boven heeft teruggegeven, is alles in orde, en we zijn bijna klaar. Nu begint alles wat over is eigenlijk onze service als onze gekozen gebruiker: systemctl start ArchiSteamFarm@asf
. Wacht even en je kunt de status opnieuw controleren:
systemctl status ArchiSteamFarm@asf
β [email protected] - ArchiSteamFarm Service (in asf)
Geladen: geladen (/etc/systemd/[email protected]; uitgeschakeld; vendor preset: enabled)
Actief: actief (running) sinds (...)
Docs: https://github.com/JustArchiNET/ArchiSteamFarm/wiki
Main PID: (...)
(...)
Als systemd
staat actief (actief)
, het betekent dat alles goed is gegaan en je kunt controleren of het ASF-proces op gang moet komen, bijvoorbeeld met journactl -r
, zoals ASF standaard ook naar de console output schrijft, welke wordt opgenomen door systemd
. Als u tevreden bent met de instellingen die u nu heeft, kunt u systemd
vertellen om uw service automatisch te starten tijdens het opstarten, door het uitvoeren van systemctl ArchiSteamFarm@asf
commando mogelijk te maken. Dat is alles.
Als je het proces wilt stoppen, voer dan gewoon systemctl stop ArchiSteamFarm@asf
. Dezelfde, als je ASF bij het opstarten wilt uitschakelen, systemctl uitschakelen ArchiSteamFarm@asf
zal dat voor jou doen, het is heel eenvoudig.
Houd er rekening mee dat, aangezien er geen standaard invoer ingeschakeld is voor onze systemd
service, U zult niet op gebruikelijke wijze uw gegevens kunnen invoeren via de console Systeem- `` staat gelijk aan het specificeren van Headless: true
en komt met alle implicaties ervan. Gelukkig voor jou is het heel makkelijk om je ASF te beheren via ASF-ui, die we aanbevelen voor het geval dat je aanvullende gegevens moet invullen tijdens het inloggen of je ASF-proces verder moet beheren.
Het is mogelijk om extra omgevingsvariabelen te leveren aan onze systeem-
service, wat je wil doen in het geval dat je bijvoorbeeld een eigen --cryptkey
**command-line argument**wilt gebruiken, daarom ASF_CRYPTKEY
omgevingsvariabele.
Om aangepaste omgevingsvariabelen te bieden, maak /etc/asf
map (in het geval het niet bestaat) mkdir -p /etc/asf
. We raden chown -hR root:root /etc/asf && chmod 700 /etc/asf
aan om ervoor te zorgen dat alleen root
gebruiker toegang heeft tot het lezen van deze bestanden, omdat ze gevoelige eigenschappen kunnen bevatten zoals ASF_CRYPTKEY
. Daarna schrijf je naar een /etc/asf/<user>
bestand, waar <user>
de gebruiker is die je de service onder (asf
in ons voorbeeld hierboven draagt, dus /etc/asf/asf
).
Het bestand moet alle omgevingsvariabelen bevatten die u aan het proces wilt aanbieden. De landen die geen speciale omgevingsvariabele hebben, kunnen in ASF_ARGS
worden verklaard:
# Schrijf alleen die welke u eigenlijk nodig hebt
ASF_ARGS="--no-config-migrate --no-config-watch"
ASF_CRYPTKEY="my_super_important_secret_cryptkey"
ASF_NETWORK_GROUP="my_network _group"
# En alle andere waarin u geΓ―nteresseerd bent
Dankzij de flexibiliteit van systemd
, het is mogelijk om een deel van ASF-eenheid te overschrijven, terwijl het oorspronkelijke eenheidsbestand behouden blijft en ASF bijvoorbeeld in staat stelt deze bij te werken als onderdeel van automatische updates.
In dit voorbeeld willen we het standaard ASF systemd
gedrag aanpassen vanaf het opnieuw opstarten alleen bij succes; ook het herstarten bij fatale crashes. Om dit te doen we overschrijven Herstart
eigenschap onder [Service]
van standaard on-success
naar altijd
. Voer gewoon uit systemctl edit ArchiSteamFarm@asf
, vervang natuurlijk asf
door de doelgebruiker van uw service. Voeg vervolgens de wijzigingen toe zoals aangegeven door systemd
in de juiste sectie:
### Bewerken/etc/systemd/[email protected]/override. onf
### Alles tussen hier en de opmerking hieronder wordt de nieuwe inhoud van het bestand
[Service]
Restart=always
### Lijnen onder deze reactie worden weggegooid
### /etc/systemd/system/ArchiSteamFarm@asf. ervice
# [Install]
# Gezochtby=multi-gebruiker. arget
#
[Service]
# EnvironmentFile=-/etc/asf/%i
# ExecStart=dotnet /home/%i/ArchiSteamFarm/ArchiSteamFarm. ll --no-restart --service --system-required
# Restart=on-success
# RestartSec=1s
# SyslogIdentifier=asf-%i
# User=%i
# (...)
En dat is het, nu doet je eenheid hetzelfde alsof het alleen Restart=Altijd
onder [Service]
zou hebben.
Natuurlijk is een alternatief voor cp
het bestand en beheer het zelf maar dit laat je flexibele wijzigingen toe, zelfs als je besloten hebt de originele ASF-eenheid te behouden, bijvoorbeeld met een symlink.
ASF bevat zijn eigen validatie of het proces wordt uitgevoerd als beheerder (root
) of niet. Uitvoeren als root
is niet nodig voor elke vorm van operatie uitgevoerd door het ASF-proces. aannemen van een goed geconfigureerde omgeving waarin hij werkt, en moet daarom gezien worden als een slechte praktijk. Dit betekent dat ASF op Windows nooit moet worden uitgevoerd met "als administrator" instelling, en op Unix ASF moet een toegewijde gebruikersaccount zelf hebben. of hergebruik je eigen in het geval van een desktopsysteem.
Voor verdere uitleg over waarom we ASF als root
ontmoedigen, verwijzen naar superuser en andere bronnen. Als je nog steeds niet overtuigd bent, vraag uzelf wat er met je machine zou gebeuren als ASF-proces rm -rf /*
commando direct na de lancering wordt uitgevoerd.
Dit betekent dat je de rechten van de ASF verkeerd hebt geconfigureerd voor toegang tot de bestanden. Je moet inloggen als root
account (met su
of sudo -i
) en vervolgens de rechten van correct maken door zelf -hR asf:asf /path/to/ASF
commando uit te geven, het vervangen van asf:asf
door de gebruiker waarvan je ASF onder uitvoert en /path/to/ASF
overeenkomend. Als je toevallig een aangepaste --path
gebruikt om de ASF gebruiker te vertellen de verschillende map te gebruiken, je zou hetzelfde commando opnieuw moeten uitvoeren voor dat pad.
Hierna zul je geen problemen meer moeten krijgen met betrekking tot ASF die niet over zijn eigen bestanden kunnen schrijven, omdat je zojuist de eigenaar van alles wat ASF interesseert voor de gebruiker waar het ASF-proces eigenlijk onder zal lopen.
su # Of sudo -i, om in root shell
useradd -m asf # Create account uit te voeren wil je ASF onder
chown -hR asf:asf /path/to/ASF # Zorg ervoor dat je nieuwe gebruiker toegang heeft tot de ASF directory
su as-c /path/to/ASF/ArchiamFarm # Of sudo -u asf /path/to/ASF/ArchiamFarm, om het programma onder je gebruiker te starten
Dat zou handmatig doen, het is veel makkelijker om onze systemd
Service te gebruiken.
ASF stopt dit niet geforceerd aan, geeft alleen een waarschuwing weer met een korte waarschuwing. Wees niet geschrokken als het op een dag als gevolg van een bug in het programma uw hele OS opblazen met volledig gegevensverlies - u bent gewaarschuwd.
ASF is compatibel met het uitvoeren van meerdere processen op dezelfde machine. De instanties kunnen volledig onafhankelijk zijn of afgeleid worden van dezelfde binaire locatie (in wanneer het geval je wilt ze uitvoeren met verschillende --path
command-line argument).
Bij het uitvoeren van meerdere instanties van dezelfde binary, houd er rekening mee dat je meestal automatisch bijwerken in al hun configuraties moet uitschakelen, omdat er geen synchronisatie tussen hen is met betrekking tot automatische updates. Als u automatische updates wilt blijven inschakelen, raden we zelfstandige instanties, maar je kan nog steeds werken met updates, zolang je er maar voor kan zorgen dat alle andere ASF-servers gesloten zijn.
ASF zal zijn best doen om een minimale hoeveelheid OS-breed te behouden, cross-process communicatie met andere ASF-instanties. Dit geldt ook voor het controleren van de configuratiemap met andere instanties, ASF evenals het delen van de core process-wide limiters geconfigureerd met *LimiterDelay
globale configuratie eigenschappen, zorg ervoor dat het gebruik van meerdere ASF-instanties geen mogelijkheid geeft om te lopen tot een tariefbeperkende kwestie. Met betrekking tot de technische aspecten gebruiken alle platforms ons specifieke mechanisme van aangepaste ASF-bestanden vergrendelingen die zijn gemaakt in tijdelijke directory, dit is C:\Users\<YourUser>\AppData\Local\Temp\ASF
op Windows, en /tmp/ASF
op Unix.
Het is niet vereist voor het uitvoeren van ASF instanties om dezelfde *LimiterDelay
eigenschappen te delen, ze kunnen verschillende waarden gebruiken, omdat elke ASF de eigen ingestelde vertraging toevoegt aan de releasetijd na het verkrijgen van de vergrendeling. Als de geconfigureerde *LimiterDelay
is ingesteld op 0
, ASF-instance slaat volledig het wachten op de vergrendeling van een resource die wordt gedeeld met andere instanties (die mogelijk nog steeds een gedeeld slot met elkaar kunnen houden). Indien ingesteld op een andere waarde, dan zal ASF correct synchroniseren met andere ASF-instanties en wachten op de beurt vervolgens de vergrendeling vrijgeven na de geconfigureerde vertraging, waardoor andere instanties door kunnen gaan.
ASF houdt rekening met WebProxy
instelling bij het beslissen over gedeelde scope, dit betekent dat twee ASF-instanties die verschillende WebProxy
configuraties niet met elkaar delen. Dit wordt geΓ―mplementeerd om instellingen van WebProxy
toe te staan om te werken zonder buitensporige vertragingen, zoals verwacht wordt in verschillende netwerkinterfaces. Dit zou goed genoeg moeten zijn voor de meeste van de gebruiksgevallen, echter als u een specifieke aangepaste setup heeft waarin u bijv. bent zelf-routeren van verzoeken op een andere manier, u kunt de netwerkgroep zelf specificeren via --netwerkgroep
command-line argument, waarmee je ASF-groep kunt declareren die wordt gesynchroniseerd met deze instantie. Houd er rekening mee dat aangepaste netwerkgroepen exclusief worden gebruikt dit betekent dat ASF niet langer WebProxy
gebruikt om de juiste groep te bepalen. omdat je de leiding hebt over het groeperen in dit geval.
Als je gebruik wilt maken van onze systemd
service uitgelegd hierboven voor meerdere ASF-instanties. Het is heel eenvoudig, gebruik gewoon een andere gebruiker voor onze ArchiSteamFarm@
service declaratie en volg de rest van de stappen. Dit is gelijk aan het draaien van meerdere ASF-instanties met verschillende binairs, zodat ze ook automatisch kunnen updaten en onafhankelijk van elkaar kunnen werken.
![]() |
![]() |
![]() |
![]() |
---|---|---|---|
![]() |
![]() |
![]() |
![]() |
---|---|---|---|
- π‘ Start
- π§ Configuratie
- π¬ FAQ
- βοΈ instellen (start hier)
- π₯ Productcode-activering op de achtergrond
- π’ Opdrachten
- π οΈ Compatibiliteit
- π§© ItemsMatcherPlugin
- π Beheer
- β±οΈ Prestatie
- :satelliite_antenne: communicatie op afstand
- πͺ Steam-gezinsbibliotheek
- π Handelen
- β¨οΈ Command-line argumenten
- π§ Afbraak
- :spouting_walale: Docker
- π€ uitgebreide FAQ
- π Configuratie met hoge prestaties
- π IPC
- π Lokalisatie
- π Logboekregistratie
- πΎ Low-memory setup
- π΅πΌββοΈ MonitoringPlugin
- π Plugins
- π Beveiliging
- π§© SteamTokenDumperPlugin
- π¦ Third-party
- π΅ Tweestapsverificatie