Tutorial ini menerangkan cara menyediakan pelayan Team Fortress 2 di Arch Linux. Saya menganggap bahawa anda log masuk dengan akaun pengguna bukan root yang mempunyai akses sudo. Tutorial ini menggunakan AUR untuk membina pakej, dan operasi itu tidak boleh dilakukan dari akaun root.
Sebelum awak bermula
Sangat penting bahawa anda multilibmengaktifkan repositori jika dan hanya jika anda menggunakan pelayan 64-bit (amd64). Sekiranya tidak diaktifkan, SteamCMD tidak dapat dijalankan dan anda bahkan tidak boleh memuat turun fail pelayan. Untuk melakukan ini, anda mesti melepaskan baris berikut /etc/pacman.conf.
[multilib]
Include = /etc/pacman.d/mirrorlist
Sekiranya anda menggunakan Lengkungan 32-bit (i686), anda boleh mengabaikannya dengan selamat.
Pasang SteamCMD
Terdapat pakej AUR untuk SteamCMD dan ini adalah salah satu kaedah termudah untuk memasang SteamCMD di Arch. Terdapat beberapa perkara aneh mengenainya:
- Semua jalan relatif relatif kepada
/usr/share/steamcmd.
- Untuk menaik taraf SteamCMD itu sendiri, anda mesti menjadi root.
Sekiranya anda menggunakan pelayan 64-bit, anda mesti memasang pakej lib32-gcc-libs.
sudo pacman -Sy lib32-gcc-libs
Sekarang kita mesti membina pakej. Dengan menggunakan ikal, muat turun tarball untuk pakej.
curl -O http://media.steampowered.com/installer/steamcmd_linux.tar.gz
Setelah muat turun selesai, ekstrak dan ubah ke direktori yang dibuat.
tar -xvzf steamcmd.tar.gz
cd steamcmd
Sekarang, dengan menggunakan makepkg, bina bungkusannya.
makepkg -ci
Sekiranya anda tidak menyampaikan -ibendera ke perintah makepkg, gunakan pacman untuk memasangnya.
sudo pacman -U *.pkg.tar.xz
Anda sekarang telah memasang SteamCMD dan bersedia untuk memuat turun pelayan Team Fortress 2.
Pasang Pelayan The Team Fortress 2
Panduan ini menggunakan pengguna yang berasingan untuk menjalankan pelayan, jadi kami akan membuat pengguna dan kumpulan tf2 baru dengan folder rumahnya sendiri /var/lib.
sudo groupadd tf2
sudo mkdir /var/lib/tf2
sudo useradd -d /var/lib/tf2 -g tf2 -s /bin/bash tf2
sudo chown tf2.tf2 -R /var/lib/tf2
Sekarang untuk memasang pelayan.
sudo -u tf2 steamcmd +login anonymous +force_install_dir ~tf2/server +app_update 232250 validate +quit
Setelah selesai memuat turun, anda telah memasang pelayan.
Mengkonfigurasi
Walaupun anda boleh menjalankan pelayan, beberapa konfigurasi harus dilakukan agar pelayan tidak terlalu umum. Fail utama yang kami tetapkan adalah server.cfgfail. Berikut adalah server.cfgfail yang sangat asas .
Untuk membuka / membuat fail, gunakan editor kegemaran anda. Di sini vim digunakan, tetapi anda boleh menggunakan penyunting teks seperti nano.
sudo -u tf2 vim ~tf2/server/tf/cfg/server.cfg
Tambahkan perkara berikut. Lebih banyak tetapan boleh didapati di halaman pembangun Team Fortress 2 dan Valve. Pastikan anda mengubah beberapa tetapan agar sesuai dengan keperluan anda.
hostname "Server Name"
rcon_password "password"
sv_password ""
sv_contact "[email protected]"
sv_tags ""
sv_region "255"
sv_lan "0"
exec banned_user.cfg
exec banned_ip.cfg
writeid
writeip
Menjalankan Pelayan Anda
Telah diketahui bahawa anda memerlukan multiplexer seperti GNU Screen atau tmux untuk menjalankan pelayan anda tanpa pengawasan. Di sini kita akan menggunakan tmux untuk menjalankan pelayan, tetapi jika anda lebih suka dan tahu bagaimana menggunakan skrin, jangan ragu untuk menggunakannya.
Pasang tmux dengan menggunakan pacman.
sudo pacman -Sy tmux
Anda boleh memulakan pelayan dengan arahan berikut. Anda boleh menukar peta dan pemain maksimum jika dikehendaki.
sudo -u tf2 tmux new-session -d -s tf2-console -d '~tf2/server/srcds_run -console -game tf +map cp_dustbowl +maxplayers 24'
Sekiranya anda perlu melekat pada konsol, jalankan yang berikut.
sudo -u tf2 tmux attach -t tf2-console
Anda boleh meninggalkan konsol pelayan dengan menaip CTRL + B kemudian melepaskan mereka kunci dan kemudian menekan D .
Berjalan Dengan sistemd
Menjalankan pelayan dengan systemd adalah mudah kerana banyak sebab. Yang utama ialah anda dapat memulakannya ketika VPS bermula. Ini memerlukan skrip dan unit sistemd ditulis. Walaupun ini adalah idea yang baik, ia adalah pilihan .
Perkara pertama yang ditulis ialah skrip permulaan. Untuk membuat skrip, gunakan editor kegemaran anda. Di sini vim digunakan, tetapi anda boleh menggunakan penyunting teks seperti nano.
sudo -u tf2 vim ~tf2/server/tf2.sh
Tambahkan perkara berikut.
#!/bin/sh
USER=$2
if [ -z $2 ]; then
USER="tf2"
fi
case "$1" in
start)
sudo -u $ tmux new-session -d -s tf2-console -d '/var/lib/tf2/server/srcds_run -console -game tf +map cp_dustbowl +maxplayers 24'
;;
stop)
sudo -u $ tmux send-keys -t tf2-console 'say Server shutting down in 10 seconds!' C-m
sleep 10
sudo -u $ tmux send-keys -t tf2-console 'quit' C-m
sleep 5
;;
*)
echo "Usage: $0 user"
esac
exit 0
Sekarang anda perlu membuat unit systemd. Untuk membuat unit, gunakan editor kegemaran anda. Di sini vim digunakan, tetapi anda boleh menggunakan penyunting teks seperti nano.
sudo vim /usr/lib/systemd/system/tf2.service
Tambahkan perkara berikut.
[Unit]
Description=Team Fortress 2 Server (SRCDS)
After=local-fs.target network.target
[Service]
ExecStart=/var/lib/tf2/server/tf2.sh start
ExecStop=/var/lib/tf2/server/tf2.sh stop
Type=forking
[Install]
WantedBy=multi-user.target
Sekarang pastikan tf2.shfail boleh dilaksanakan.
sudo chmod +x ~tf2/server/tf2.sh
Selepas semua itu, anda boleh menggunakan systemctluntuk memulakan dan menghentikan pelayan. Anda juga boleh menggunakannya untuk memulakannya semasa boot.
Untuk mula:
sudo systemctl start tf2.service
Untuk berhenti:
sudo systemctl stop tf2.service
Untuk memulakan semula:
sudo systemctl restart tf2.service
Untuk mengaktifkan semasa boot:
sudo systemctl enable tf2.service
Untuk melumpuhkan semasa boot:
sudo systemctl disable tf2.service
Walaupun systemd mengendalikan memulakan dan menghentikan pelayan, anda masih boleh mengakses konsol dengan arahan berikut:
sudo -u tf2 tmux attach -t tf2-console
Catatan Akhir
SteamCMD dipasang di kawasan di mana hanya root yang dapat mengubah fail (lihat catatan dalam "Pasang SteamCMD"). Sekiranya anda perlu meningkatkan SteamCMD itu sendiri, jalankan sebagai root.
sudo steamcmd +quit
Sekiranya anda perlu mengemas kini pelayan. Pertama hentikan pelayan dan kemudian gunakan SteamCMD untuk mengemas kini (menggunakan arahan yang sama untuk memasang).
sudo systemctl stop tf2.service
sudo -u tf2 steamcmd +login anonymous +force_install_dir ~tf2/server +app_update 232250 validate +quit
sudo systemctl start tf2.service
Terdapat banyak lagi topik konfigurasi yang tidak dibahas dalam tutorial ini. Sekiranya anda memerlukan lebih banyak maklumat, sila rujuk Team Fortress 2 Wiki dan Valve Developer Wiki.