-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Management el GR
Το παρόν τμήμα καλύπτει θέματα που σχετίζονται με τη διαχείριση της διαδικασίας ASF με βέλτιστο τρόπο. Ενώ δεν είναι αυστηρά υποχρεωτικό για χρήση, περιλαμβάνει δέσμη συμβουλές, κόλπα και καλές πρακτικές που θα θέλαμε να μοιραστούμε, ειδικά για διαχειριστές συστημάτων, άτομα που συσκευάζουν το ASF για χρήση σε αποθετήρια τρίτων, καθώς και προχωρημένους χρήστες και εξίσου.
Σε γενικές εκδόσεις
και linux
, το ASF έρχεται με ArchiSteamFarm@. ervice
αρχείο, που είναι ένα αρχείο ρύθμισης παραμέτρων της υπηρεσίας για systemd
. Αν θέλετε να εκτελέσετε το ASF ως υπηρεσία, για παράδειγμα για να το εκκινήσετε αυτόματα μετά την εκκίνηση του μηχανήματός σας, then a proper systemd
service is arguably the best way to do it, Ως εκ τούτου, το συνιστούμε ανεπιφύλακτα αντί να το διαχειριστείτε μόνοι σας μέσω nohup
, οθόνη
ή ίδια.
Πρώτον, δημιουργήστε το λογαριασμό για τον χρήστη που θέλετε να εκτελέσετε το ASF κάτω, υποθέτοντας ότι δεν υπάρχει ακόμα. Θα χρησιμοποιήσουμε το χρήστη asf
για αυτό το παράδειγμα, αν αποφασίσετε να χρησιμοποιήσετε έναν διαφορετικό, θα χρειαστεί να αντικαταστήσετε το χρήστη asf
σε όλα τα παρακάτω παραδείγματα με το επιλεγμένο σας. Η υπηρεσία μας δεν σας επιτρέπει να εκτελέσετε το ASF ως root
, καθώς θεωρείται κακή πρακτική .
su # Or sudo -i, για να μπείτε στο root shell
useradd -m asf # Δημιουργία λογαριασμού που σκοπεύετε να εκτελέσετε το ASF κάτω από
Στη συνέχεια, αποσυμπιέστε το ASF στο φάκελο /home/asf/ArchiSteamFarm
. Η δομή του φακέλου είναι σημαντική για τη μονάδα υπηρεσιών μας, θα πρέπει να είναι ArchiSteamFarm
φάκελο στο σας$HOME
, έτσι /home/<user>
. Αν κάνατε τα πάντα σωστά, θα υπάρχει αρχείο /home/asf/ArchiSteamFarm/[email protected]
που υπάρχει. Εάν χρησιμοποιείτε την παραλλαγή linux
και δεν αποσυμπιέσατε το αρχείο στο Linux, αλλά για παράδειγμα χρησιμοποιείστε μεταφορά αρχείων από Windows, τότε θα χρειαστεί επίσης να chmod +x /home/asf/ArchiSteamFarm/ArchiSteamFarm
.
Θα κάνουμε όλες τις παρακάτω ενέργειες ως root
, οπότε θα φτάσουμε στο κέλυφος του με su
ή sudo -i
.
Πρώτον, είναι καλή ιδέα να διασφαλίσουμε ότι ο φάκελος μας εξακολουθεί να ανήκει στο χρήστη asf
, chown -hR asf:asf /home/asf/ArchiSteamFarm
που εκτελείται μία φορά θα το κάνει. Τα δικαιώματα μπορεί να είναι λάθος π.χ. αν έχετε κατεβάσει και/ή αποσυμπιέσει το αρχείο zip ως root
.
Δεύτερον, αν χρησιμοποιείτε γενική παραλλαγή του ASF, θα πρέπει να διασφαλίσετε ότι η εντολή dotnet
αναγνωρίζεται και μέσα σε μια από τις βασικές θέσεις: /usr/local/bin
, /usr/bin
ή /bin
. Αυτό απαιτείται για την υπηρεσία συστήματος που εκτελεί την εντολή dotnet /path/to/ArchiSteamFarm.dll
. Ελέγξτε αν το dotnet --info
λειτουργεί για εσάς, αν ναι, πληκτρολογήστε την εντολή -v dotnet
για να μάθετε πού βρίσκεται. Εάν έχετε χρησιμοποιήσει επίσημο πρόγραμμα εγκατάστασης, θα πρέπει να είναι σε /usr/bin/dotnet
ή μία από τις δύο άλλες τοποθεσίες, η οποία είναι εντάξει. Εάν είναι σε προσαρμοσμένη τοποθεσία, όπως /usr/share/dotnet/dotnet
, δημιούργησε μια συντόμευση για να χρησιμοποιήσει ln -s "$(εντολή -v dotnet)" /usr/bin/dotnet
. Τώρα η εντολή -v dotnet
θα πρέπει να αναφέρει το /usr/bin/dotnet
, το οποίο θα κάνει επίσης τη μονάδα συστήματος μας να λειτουργεί. Αν χρησιμοποιείτε το OS-συγκεκριμένη παραλλαγή, δεν χρειάζεται να κάνετε τίποτα από αυτή την άποψη.
Στη συνέχεια, εκτελέστε ln -s /home/asf/ArchiSteamFarm/ArchiSteamFarm\@.service /etc/systemd/system/ArchiSteamFarm\@. ervice
, this will create a symbolic link to our service declaration and register it in systemd
. Ο συμβολικός σύνδεσμος θα επιτρέψει στο ASF να ενημερώσει τη μονάδα systemd
αυτόματα ως μέρος της ενημέρωσης ASF - ανάλογα με την κατάστασή σας, μπορεί να θέλετε να χρησιμοποιήσετε αυτή την προσέγγιση, ή απλά χρησιμοποιήστε cp
στο αρχείο και διαχειριστείτε το μόνοι σας, όπως θέλετε.
Στη συνέχεια, βεβαιωθείτε ότι το systemd
αναγνωρίζει την υπηρεσία μας:
systemctl status ArchiSteamFarm@asf
Ř[email protected] - ArchiSteamFarm Service (on asf)
Φορτώθηκε: φορτωμένο (/etc/systemd/system/ArchiSteamFarm@. ervice; disabled; vendor preset: enabled)
Active: inactive (dead)
Docs: https://github.com/JustArchiNET/ArchiSteamFarm/wiki
Δώστε ιδιαίτερη προσοχή στο χρήστη που δηλώνουμε μετά το @
, είναι asf
στην περίπτωσή μας. Η μονάδα παροχής υπηρεσιών συστήματος μας αναμένει από εσάς να δηλώσετε τον χρήστη, καθώς επηρεάζει την ακριβή θέση του δυαδικού /home/<user>/ArchiSteamFarm
, καθώς και το πραγματικό σύστημα του χρήστη θα εμφανίσει τη διεργασία.
Εάν το σύστημα επέστρεψε έξοδο παρόμοια με τα παραπάνω, όλα είναι εντάξει, και είμαστε σχεδόν έτοιμοι. Τώρα το μόνο που μένει είναι να ξεκινήσουμε την υπηρεσία μας ως επιλεγμένος χρήστης: systemctl start ArchiSteamFarm@asf
. Περιμένετε ένα δεύτερο ή δύο, και μπορείτε να ελέγξετε την κατάσταση ξανά:
systemctl status ArchiSteamFarm@asf
● [email protected] - ArchiSteamFarm Service (για asf)
Φορτώθηκε: φορτωμένο (/etc/systemd/system/[email protected]; απενεργοποιημένο, προκαθορισμένο προμηθευτή: ενεργοποιημένο)
Ενεργό: ενεργό (τρέχει) από (...)
Έγγραφα: https://github.com/JustArchiNET/ArchiSteamFarm/wiki
Main PID: (...)
(...)
Εάν systemd
δηλώνει ενεργό (τρέχει)
, αυτό σημαίνει ότι όλα πήγαν καλά, και μπορείτε να βεβαιωθείτε ότι η διαδικασία ASF θα πρέπει να είναι σε λειτουργία, για παράδειγμα με το περιοδικό -r
, όπως το ASF από προεπιλογή γράφει επίσης στην έξοδο της κονσόλας, το οποίο καταγράφεται από το σύστημα . Αν είστε ικανοποιημένοι με τη ρύθμιση που έχετε αυτή τη στιγμή, μπορείτε να πείτε στο σύστημα
να ξεκινήσει αυτόματα την υπηρεσία σας κατά την εκκίνηση, εκτελώντας systemctl ενεργοποιήστε την εντολή ArchiSteamFarm@asf
. Αυτό είναι όλο.
Αν θέλετε να σταματήσετε τη διαδικασία, απλά να εκτελέσετε systemctl stop ArchiSteamFarm@asf
. Ομοίως, αν θέλετε να απενεργοποιήσετε το ASF από το να ξεκινήσει αυτόματα κατά την εκκίνηση, systemctl απενεργοποίηση ArchiSteamFarm@asf
θα το κάνει αυτό για εσάς, είναι πολύ απλό.
Παρακαλώ σημειώστε ότι, καθώς δεν υπάρχει ενεργοποιημένη τυπική εισαγωγή για την υπηρεσία systemd
, δεν θα μπορείτε να εισάγετε τα στοιχεία σας μέσω της κονσόλας με τον συνήθη τρόπο. Η εκτέλεση μέσω του συστήματος `` είναι ισοδύναμη με τον καθορισμό του χωρίς κέφαλο: αληθινή ρύθμιση
και έρχεται με όλες τις επιπτώσεις του. Ευτυχώς για εσάς, είναι πολύ εύκολο να διαχειριστείτε το ASF σας μέσω ASF-ui, το οποίο σας προτείνουμε σε περίπτωση που χρειαστεί να δώσετε πρόσθετες λεπτομέρειες κατά τη διάρκεια σύνδεσης ή να διαχειριστείτε τη διαδικασία ASF σας περαιτέρω.
Είναι δυνατό να παρέχουμε πρόσθετες μεταβλητές περιβάλλοντος στην υπηρεσία systemd
, που θα σας ενδιαφέρει να κάνετε σε περίπτωση που θέλετε για παράδειγμα να χρησιμοποιήσετε ένα προσαρμοσμένο --cryptkey
παράμετρο γραμμής εντολών, Ως εκ τούτου, προσδιορίζοντας τη μεταβλητή περιβάλλοντος ASF_CRYPTKEY
.
Προκειμένου να παρέχονται προσαρμοσμένες μεταβλητές περιβάλλοντος, δημιουργήστε φάκελο /etc/asf
(σε περίπτωση που δεν υπάρχει), mkdir -p /etc/asf
. Συνιστούμε στο chown -hR root:root /etc/asf && chmod 700 /etc/asf
για να διασφαλίσουμε ότι μόνο root
ο χρήστης έχει πρόσβαση για να διαβάσει αυτά τα αρχεία, επειδή μπορεί να περιέχουν ευαίσθητες ιδιότητες όπως ASF_CRYPTKEY
. Κατόπιν, γράψτε σε ένα αρχείο /etc/asf/<user>
, όπου <user>
είναι ο χρήστης που εκτελείτε την υπηρεσία κάτω από (asf
στο παραπάνω παράδειγμά μας, so /etc/asf/asf
).
Το αρχείο θα πρέπει να περιέχει όλες τις μεταβλητές περιβάλλοντος που θα θέλατε να παράσχετε στη διαδικασία. Όσοι δεν έχουν ειδική μεταβλητή περιβάλλοντος, μπορούν να δηλωθούν στο ASF_ARGS
:
# Declare only those that you need
ASF_ARGS="--no-config-migrate --no-config-watch"
ASF_CRYPTKEY="my_super_important_secret_cryptkey"
ASF_NETWORK_GROUP="my_network_group"
# Και οποιουσδήποτε άλλους ενδιαφέρεστε
Χάρη στην ευελιξία του συστήματος ``, είναι δυνατό να αντικαταστήσετε μέρος της μονάδας ASF διατηρώντας ακόμα το αρχικό αρχείο μονάδας και επιτρέποντας στο ASF να το ενημερώσει για παράδειγμα ως μέρος των αυτόματων ενημερώσεων.
Σε αυτό το παράδειγμα, θα θέλαμε να τροποποιήσουμε την προεπιλεγμένη συμπεριφορά μονάδας ASF systemd
από την επανεκκίνηση μόνο με επιτυχία, να επανεκκινήσουμε επίσης σε θανατηφόρες συντριβές. Για να γίνει αυτό, θα παρακάμψουμε την ιδιότητα Restart
κάτω από [Service]
από την προεπιλογή του στην επιτυχία
έως πάντα
. Απλά εκτελέστε το systemctl edit ArchiSteamFarm@asf
, αντικαθιστώντας φυσικά το asf
με το χρήστη-στόχο της υπηρεσίας σας. Στη συνέχεια, προσθέστε τις αλλαγές σας, όπως υποδεικνύεται από το systemd
στην κατάλληλη ενότητα:
### Επεξεργασία /etc/systemd/system/[email protected]/override. onf
### Οτιδήποτε ανάμεσα εδώ και το παρακάτω σχόλιο θα γίνει το νέο περιεχόμενο του αρχείου
[Service]
Restart=always
## Γραμμές κάτω από αυτό το σχόλιο θα απορριφθεί
#### /etc/systemd/system/ArchiSteamFarm@asf. ervice
# [Install]
# WantedBy=multi-user. 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
# (...)
Και αυτό είναι, τώρα η μονάδα σας λειτουργεί το ίδιο σαν να είχε μόνο Restart=always
κάτω από [Service]
.
Of course, alternative is to cp
the file and manage it yourself, but this allows you for flexible changes even if you decided to keep original ASF unit, for example with a symlink.
Το ASF περιλαμβάνει τη δική του επικύρωση, είτε η διαδικασία εκτελείται ως διαχειριστής (root
) είτε όχι. Running as root
is not required for any kind of operation done by the ASF process, assuming properly configured environment it's operating in, and therefore should be regarded as a bad practice. This means that on Windows, ASF should never be executed with "run as administrator" setting, and on Unix ASF should have a dedicated user account for itself, or re-use your own in case of a desktop system.
Για περαιτέρω επεξεργασία σε γιατί αποθαρρύνουμε τη λειτουργία του ASF ως ρίζας
, αναφέρονται σε superuser και άλλους πόρους. Αν δεν είστε ακόμα πεπεισμένοι, ρωτήστε τον εαυτό σας τι θα συμβεί στο μηχάνημά σας αν η διαδικασία ASF εκτελέσει την εντολή rm -rf /*
αμέσως μετά την εκκίνησή της.
Αυτό σημαίνει ότι έχετε λανθασμένα ρυθμισμένα δικαιώματα για τα αρχεία ASF προσπαθεί να προσπελάσει. You should login as root
account (either with su
or sudo -i
) and then correct the permissions by issuing chown -hR asf:asf /path/to/ASF
command, substituting asf:asf
with the user that you'll run ASF under, and /path/to/ASF
accordingly. If by any chance you're using custom --path
telling ASF user to use the different directory, θα πρέπει να εκτελέσετε την ίδια εντολή και για αυτή τη διαδρομή.
Μετά από αυτό, δεν θα πρέπει πλέον να πάρετε οποιοδήποτε πρόβλημα που σχετίζεται με την ASF δεν είναι σε θέση να γράψει πάνω από τα δικά της αρχεία, καθώς έχετε μόλις αλλάξει τον ιδιοκτήτη του ό, τι ASF ενδιαφέρεται για το χρήστη η διαδικασία ASF στην πραγματικότητα θα τρέξει κάτω.
su # ή sudo -i, για να μπείτε στο root shell
useradd -m asf # Create account you intend to run ASF under
chown -hR asf:asf /path/to/ASF # Ensure your new user has access to the ASF directory
su asf -c /path/to/ASF/ArchiSteamFarm # Or sudo -u asf /path/to/ASF/ArchiSteamFarm, να ξεκινήσει πραγματικά το πρόγραμμα κάτω από το χρήστη σας
Αυτό θα το έκανε με μη αυτόματο τρόπο, είναι πολύ πιο εύκολο να χρησιμοποιήσετε την υπηρεσία `` εξήγησε παραπάνω.
Το ASF δεν σας εμποδίζει δυναμικά από το να το κάνετε, εμφανίζει μόνο μια προειδοποίηση με μικρή προειδοποίηση. Απλά μην σοκαριστείτε αν μια μέρα λόγω ενός σφάλματος στο πρόγραμμα θα ανατινάξει ολόκληρο το λειτουργικό σας σύστημα με πλήρη απώλεια δεδομένων - έχετε προειδοποιηθεί.
Το ASF είναι συμβατό με πολλαπλά κρούσματα της διαδικασίας στο ίδιο μηχάνημα. Οι περιπτώσεις μπορούν να είναι εντελώς αυτόνομες ή να προέρχονται από την ίδια δυαδική θέση (στην οποία περίπτωση, θέλετε να τα εκτελέσετε με διαφορετικό --path
όρισμα γραμμής εντολών).
Όταν εκτελείτε πολλαπλές εμφανίσεις από το ίδιο δυαδικό αρχείο, να έχετε κατά νου ότι θα πρέπει συνήθως να απενεργοποιήσετε τις αυτόματες ενημερώσεις σε όλες τις ρυθμίσεις τους, καθώς δεν υπάρχει συγχρονισμός μεταξύ τους όσον αφορά τις αυτόματες ενημερώσεις. Αν θέλετε να συνεχίσετε να έχετε ενεργοποιημένες τις αυτόματες ενημερώσεις, συνιστούμε μεμονωμένες περιπτώσεις, αλλά μπορείτε ακόμα να κάνετε ενημερώσεις λειτουργούν, εφ 'όσον μπορείτε να εξασφαλίσετε ότι όλες οι άλλες περιπτώσεις ASF είναι κλειστές.
ASF θα κάνει το καλύτερό του για να διατηρήσει ένα ελάχιστο ποσό OS-ευρεία επικοινωνία διασταυρούμενης διαδικασίας με άλλες περιπτώσεις ASF. Αυτό περιλαμβάνει ASF έλεγχο του καταλόγου διαμόρφωσης του σε σχέση με άλλες περιπτώσεις, καθώς και κοινή χρήση περιοριστικών παραμέτρων σε όλη τη διαδικασία με *LimiterDelay
καθολικές ιδιότητες ρύθμισης, διασφάλιση ότι η εκτέλεση πολλαπλών περιστατικών ASF δεν θα προκαλέσει τη δυνατότητα να τρέξει σε ζήτημα περιορισμού της τιμής. Όσον αφορά τις τεχνικές πτυχές, όλες οι πλατφόρμες χρησιμοποιούν τον ειδικό μας μηχανισμό των προσαρμοσμένων κλειδαριών αρχείων ASF που δημιουργούνται στον προσωρινό κατάλογο, που είναι C:\Users\<YourUser>\AppData\Local\Temp\ASF
σε Windows, και /tmp/ASF
σε Unix.
Δεν απαιτείται για την εκτέλεση των παρουσιών ASF να μοιράζονται τις ίδιες ιδιότητες *LimiterDelay
, μπορούν να χρησιμοποιήσουν διαφορετικές τιμές, καθώς κάθε ASF θα προσθέσει τη δική της ρυθμισμένη καθυστέρηση στο χρόνο απελευθέρωσης μετά την απόκτηση της κλειδαριάς. Εάν το ρυθμισμένο *LimiterDelay
έχει οριστεί σε 0
, Η παρουσία ASF θα παραλείψει εντελώς την αναμονή για το κλείδωμα συγκεκριμένου πόρου που μοιράζεται με άλλες περιπτώσεις (που θα μπορούσε ενδεχομένως να διατηρήσει ένα κοινόχρηστο κλείδωμα μεταξύ τους). Όταν οριστεί σε οποιαδήποτε άλλη τιμή, το ASF θα συγχρονίσει σωστά με άλλα στιγμιότυπα ASF και θα περιμένει τη σειρά του, στη συνέχεια, αφήστε το κλείδωμα μετά από ρυθμισμένη καθυστέρηση, επιτρέποντας σε άλλες περιπτώσεις να συνεχίσουν.
Το ASF λαμβάνει υπόψη τη ρύθμιση WebProxy
όταν αποφασίζει για κοινόχρηστο πεδίο εφαρμογής, που σημαίνει ότι δύο στιγμιότυπα ASF χρησιμοποιώντας διαφορετικές ρυθμίσεις WebProxy
δεν θα μοιραστούν τους περιοριστές τους μεταξύ τους. Αυτό υλοποιείται προκειμένου να επιτραπεί η λειτουργία WebProxy
χωρίς υπερβολικές καθυστερήσεις, όπως αναμένεται από διαφορετικές διεπαφές δικτύου. Αυτό θα πρέπει να είναι αρκετά καλό για τις περισσότερες περιπτώσεις χρήσης, ωστόσο, αν έχετε μια συγκεκριμένη προσαρμοσμένη ρύθμιση στην οποία είστε π.χ. δρομολόγηση αιτημάτων μόνοι σας με διαφορετικό τρόπο, μπορείτε να καθορίσετε την ομάδα δικτύου μόνοι σας μέσω --network-group
παράμετρο γραμμής εντολών, που θα σας επιτρέψει να δηλώσετε την ομάδα ASF που θα συγχρονιστεί με αυτό το παράδειγμα. Λάβετε υπόψη ότι οι προσαρμοσμένες ομάδες δικτύου χρησιμοποιούνται αποκλειστικά, που σημαίνει ότι το ASF δεν θα χρησιμοποιεί πλέον WebProxy
για τον καθορισμό της σωστής ομάδας, όπως είστε υπεύθυνος της ομαδοποίησης σε αυτή την περίπτωση.
If you'd like to utilize our systemd
service explained above for multiple ASF instances, it's very simple, just use another user for our ArchiSteamFarm@
service declaration and follow with the rest of the steps. Αυτό θα είναι ισοδύναμο με την εκτέλεση πολλαπλών παρουσιών ASF με διακριτά δυαδικά μέσα, ώστε να μπορούν επίσης να ενημερώνονται αυτόματα και να λειτουργούν ανεξάρτητα μεταξύ τους.
![]() |
![]() |
![]() |
![]() |
---|---|---|---|
![]() |
![]() |
![]() |
![]() |
---|---|---|---|
- 🏡 Αρχική
- 🔧 Παραμετροποίηση
- 💬 Συχνές Ερωτήσεις
- ⚙️ Ρύθμιση (ξεκινήστε εδώ)
- 👥 Εξαργύρωση παιχνιδιών παρασκηνίου
- 📢 Εντολές
- 🛠️ Συμβατότητα
- 🧩 ItemsMatcherPlugin
- 📋 Διαχείριση
- ⏱️ Επιδόσεις
- 📡 Απομακρυσμένη επικοινωνία
- 👪 Κοινή χρήση Steam με την οικογένεια
- 🔄 Ανταλλαγές