Skip to content

Management el GR

ArchiBot edited this page Jul 8, 2025 · 18 revisions

Διαχείριση

Το παρόν τμήμα καλύπτει θέματα που σχετίζονται με τη διαχείριση της διαδικασίας ASF με βέλτιστο τρόπο. Ενώ δεν είναι αυστηρά υποχρεωτικό για χρήση, περιλαμβάνει δέσμη συμβουλές, κόλπα και καλές πρακτικές που θα θέλαμε να μοιραστούμε, ειδικά για διαχειριστές συστημάτων, άτομα που συσκευάζουν το ASF για χρήση σε αποθετήρια τρίτων, καθώς και προχωρημένους χρήστες και εξίσου.


Υπηρεσία systemd για Linux

Σε γενικές εκδόσεις και 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 ως διαχειριστή!

Το 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 /* αμέσως μετά την εκκίνησή της.

Λειτουργώ ως root επειδή το ASF δεν μπορεί να γράψει στα αρχεία του

Αυτό σημαίνει ότι έχετε λανθασμένα ρυθμισμένα δικαιώματα για τα αρχεία 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 στην πραγματικότητα θα τρέξει κάτω.

Τρέχω ως root επειδή δεν ξέρω πώς να το κάνω διαφορετικά

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, να ξεκινήσει πραγματικά το πρόγραμμα κάτω από το χρήστη σας

Αυτό θα το έκανε με μη αυτόματο τρόπο, είναι πολύ πιο εύκολο να χρησιμοποιήσετε την υπηρεσία `` εξήγησε παραπάνω.

Ξέρω καλύτερα και εξακολουθώ να θέλω να λειτουργήσω ως root

Το 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 με διακριτά δυαδικά μέσα, ώστε να μπορούν επίσης να ενημερώνονται αυτόματα και να λειτουργούν ανεξάρτητα μεταξύ τους.

Clone this wiki locally