თამაშის სერვერს ხუთი რამისთვის საკმარისი დისკი სჭირდება: დაინსტალირებული თამაში, სამყარო და მისი save-ები, მოდები და workshop-ის კონტენტი, ლოგები და ლოკალური backup-ები, და ზემოდან დაახლოებით 20-დან 30 პროცენტამდე თავისუფალი ადგილი, რომ შემდეგ განახლებას ჩამოსატვირთად ადგილი ჰქონდეს. პრაქტიკაში ეს არის 5-დან 15 GB-მდე მსუბუქი თამაშებისთვის, როგორიცაა Terraria, Factorio და Counter-Strike 1.6, 15-დან 40 GB-მდე survival და sandbox თამაშების უმეტესობისთვის, და 40-დან 100 GB-მდე დიდი ინსტალაციებისთვის მოდებით - Arma 3, DayZ მოდების დიდი სიით, ARK, Counter-Strike 2 workshop-ის რუკებით. დისკი ის რესურსია, რომელიც ყველაზე ჩუმად ფუჭდება: სერვერი 97%-ით სავსე დისკზე იდეალურად მუშაობს, სანამ არ მოვა განახლება ან შენახვა, რომელსაც ბოლო რამდენიმე გიგაბაიტი სჭირდება, და შემდეგ ისე ტყდება, რომ დისკს თითქმის არასოდეს ახსენებს.
რა ავსებს თამაშის სერვერის დისკს#
ყოველი თამაშის სერვერის დისკი ერთსა და იმავე კატეგორიებად იყოფა. ყიდვისას ხალხი მხოლოდ პირველზე ფიქრობს.
- ინსტალაცია. სერვერის binary-ები და თამაშის მონაცემები, ჩამოტვირთული SteamCMD-ით ან თამაშის საკუთარი ხელსაწყოთი. ყოველ დიდ განახლებასთან ერთად იზრდება.
- სამყარო და save-ები. რეგიონის ფაილები, სამყაროს მონაცემთა ბაზები, მოთამაშეების მონაცემები. თამაშთან ერთად იზრდება, ზოგჯერ მკვეთრად.
- მოდები, plugin-ები და workshop-ის კონტენტი. მოდიფიცირებულ სერვერებზე ხშირად ინსტალაციაზე დიდია.
- ლოგები და crash dump-ები. დღეში პატარა, წელიწადში დიდი, თუ მათ არავინ ასუფთავებს.
- ლოკალური backup-ები. ყოველი ჩაშენებული backup-ის როტაცია სამყაროს სრულ ასლებს მის გვერდით წერს.
- განახლების მარაგი. თავისუფალი ადგილი, რომ SteamCMD-მა შეცვლილი ფაილები ჩამოტვირთოს, სანამ ძველებს ჩაანაცვლებს.
ზომის შერჩევის პრაქტიკული გზა: შეკრიბე ინსტალაცია, სამყაროს მოსალოდნელი ზომა მისი სიცოცხლის ბოლოს (ან შემდეგ wipe-მდე), მოდები, რომლებსაც გეგმავ, და backup-ები, რომლებსაც ლოკალურად ინახავ, და ზემოდან მეოთხედი დაამატე. ქვემოთ მოცემულ ცხრილში ეს ჯამი გავრცელებული თამაშებისთვის უკვე გაკეთებულია.
დისკი თამაშების მიხედვით#
ეს რეალისტური მოცულობებია ჩვეულებრივი სერვერისთვის მოდების გონივრული სიით, და არა ახალი ჩამოტვირთვის ზომა. ისინი ზრდისა და განახლებებისთვის ადგილს ტოვებს.
| თამაში | რეალისტური მოცულობა | რა ავსებს |
|---|---|---|
| Terraria, Counter-Strike 1.6 | 5-10 GB | პაწაწინა ინსტალაციები; სამყაროები და ლოგები |
| Factorio | 5-15 GB | პატარა ინსტალაცია; save-ები და მოდები |
| Valheim | 10-20 GB | ~2 GB ინსტალაცია; სამყარო და მისი backup-ები |
| Minecraft (Paper) | 15-50 GB | სამყაროს ზრდა, web რუკის tile-ები, plugin-ების მონაცემები |
| Minecraft (დიდი modpack) | 30-75 GB | მოდების jar-ები, უფრო დიდი სამყაროები, მეტი განზომილება |
| Garry's Mod | 15-40 GB | Workshop-ის addon-ები და რუკები |
| Project Zomboid | 20-35 GB | ინსტალაცია პლუს რუკის chunk-ების ბევრი პატარა ფაილი |
| Unturned, Don't Starve Together | 10-20 GB | Workshop-ის რუკები და მოდები |
| FiveM | 20-60 GB | Stream-ირებული ტრანსპორტი, რუკები, ტანსაცმელი, cache |
| Counter-Strike 2, Team Fortress 2 | 35-60 GB | დიდი ინსტალაცია, workshop-ის რუკები, demo-ები |
| DayZ | 35-85 GB | პატარა ინსტალაცია, მოდების ძალიან დიდი სიები |
| 7 Days to Die | 55-100 GB | ინსტალაცია, დაგენერირებული სამყაროები, რეგიონის ფაილები |
| Palworld, Satisfactory, The Front | 40-90 GB | Unreal-ის ინსტალაციები და მზარდი save-ები |
| Arma 3 | 40-100 GB | მოდები ჩვეულებრივ საბაზისო ინსტალაციას აჭარბებს |
| ARK: Survival Ascended | 60-100 GB თითო რუკაზე | დიდი ინსტალაცია, მოდები, save-ები |
ორი კანონზომიერება ყურადღებას იმსახურებს. ყველაზე პატარა ინსტალაციის მქონე თამაშებს ყოველთვის ყველაზე ნაკლები დისკი არ სჭირდებათ: DayZ-ის სერვერი რამდენიმე გიგაბაიტია, მისი მოდების სიები კი ათობით. ხოლო მუდმივი, გამოსაკვლევი სამყაროების მქონე თამაშები - Minecraft, 7 Days to Die, Project Zomboid - სამყაროს მხრიდან იზრდება, ასე რომ მათ მოთხოვნას განსაზღვრავს, რამდენ ხანს ცოცხლობს სამყარო, და არა ინსტალაცია. თამაშის სერვერის მოთხოვნები თამაშების მიხედვით დისკის რიცხვს RAM-ის, CPU-სა და პორტების გვერდით აყენებს RE:NODE-ის კატალოგის ყველა თამაშისთვის.
რატომ სჭირდება განახლებებს თავისუფალი ადგილი#
SteamCMD შეცვლილ კონტენტს იმავე ინსტალაციის შიგნით არსებულ დროებით არეში ტვირთავს, ამოწმებს და შემდეგ ანაცვლებს. ერთი მომენტით დისკზე ყოველი შეცვლილი ფაილის ძველი და ახალი ვერსიაც არსებობს. 30 GB-იანი თამაშის დიდ განახლებას შეიძლება რამდენიმე გიგაბაიტი თავისუფალი ადგილი დასჭირდეს, რომელიც წუთის შემდეგ ისევ გათავისუფლდება.
თუ ეს ადგილი არ არის, განახლება შუა გზაზე ჩავარდება, ხშირად შეცდომით, რომელიც დისკზე არაფერს ამბობს. გავრცელებულები:
Error! App '896660' state is 0x202 after update job.Error! App '258550' state is 0x602 after update job.State-ის კოდები განსხვავდება, და ყოველი არანულოვანი state დისკის პრობლემა არ არის, მაგრამ თითქმის სავსე დისკზე ჩავარდნილი განახლება თითქმის ყოველთვის ასეა. ნახევრად გამოყენებულმა განახლებამ შეიძლება ასევე დატოვოს სერვერი, რომელიც ეშვება და ჩატვირთვისას ეცემა, ან ვერსიის შეუსაბამობის გამო კავშირებს უარყოფს. გამოსწორება ყველა შემთხვევაში ერთია: გაათავისუფლე ადგილი, შემდეგ განახლება თავიდან გაუშვი validate-ით, რომ SteamCMD-მა ყოველი ფაილი შეამოწმოს. SteamCMD-ის ახსნა აღწერს state-ებს, validate-ს და beta branch-ებს.
როგორ იზრდება სამყაროები და save-ები#
თამაშის სამყაროები სამი სხვადასხვა გზით იზრდება, და თითოეულს სხვადასხვა სახის ყურადღება სჭირდება.
კვლევით ზრდა. Minecraft, 7 Days to Die, Project Zomboid, Valheim და Terraria რელიეფს ინახავენ, როცა მოთამაშეები მას აღმოაჩენენ. Minecraft სერვერი სამყაროს 32 x 32 chunk-ის რეგიონის ფაილებში ინახავს; დატვირთული საჯარო სერვერის მიერ გამოკვლეული სამყარო თვეების განმავლობაში გიგაბაიტებით იზრდება, ხოლო წინასწარ დაგენერირებული საზღვარი 10,000 ბლოკით თითო მიმართულებით შეიძლება ათ გიგაბაიტს საგრძნობლად გადააჭარბოს, სანამ ვინმე რამეს ააშენებს. World border ზრდას შენ მიერ არჩეულ ზომაზე აჩერებს - world border-ები და წინასწარი გენერაცია ამას აღწერს.
მშენებლობით ზრდა. Survival თამაშები მუდმივი ბაზებით - Rust, ARK, DayZ, Palworld - ყოველ ნაგებობასა და ნივთს ინახავენ. სამყაროს ფაილი wipe-ის ციკლის განმავლობაში იზრდება და სამყაროს wipe-ისას თავიდან იწყება. ზომა ციკლის ბოლოსთვის შეარჩიე.
ისტორიით ზრდა. ზოგი მონაცემი არასოდეს სუფთავდება, თუ თავად არ გააკეთებ: ყველას მონაცემები, ვინც ოდესმე შემოსულა, plugin-ების მონაცემთა ბაზები, სტატისტიკა, ჩატის ლოგები, Minecraft-ში ბლოკების ლოგირების ცხრილები, რომლებიც ბლოკის ყოველ ცვლილებას იწერენ. CoreProtect-ის მონაცემთა ბაზა დატვირთულ სერვერზე შეიძლება თავად სამყაროს გადააჭარბოს, თუ მისი purge ბრძანება განრიგით არ გაეშვება.
მოდები, workshop-ის კონტენტი და cache-ები#
მოდები ნებისმიერი სერვერის დისკზე ყველაზე ცვალებადი ელემენტია.
- Workshop-ის ჩამოტვირთვები. Steam Workshop-ის მხარდაჭერის მქონე თამაშები ელემენტებს workshop-ის საქაღალდეში ტვირთავენ, ჩვეულებრივ
steamapps/workshop/content/<appid>/-ში ინსტალაციის ქვეშ, თუმცა რამდენიმე თამაში საკუთარ cache-ს ინახავს. Garry's Mod, Arma 3, DayZ, Project Zomboid, Unturned და Counter-Strike 2 ყველა Workshop-იდან იღებს კონტენტს. ასი ელემენტის კოლექცია შეიძლება რამდენიმე გიგაბაიტი იყოს, ძველი ელემენტები კი ყოველთვის არ იშლება, როცა სიიდან ამოიღებ. Steam Workshop-ის მოდები გამოყოფილ სერვერებზე აღწერს, როგორ უმკლავდება ამას თითოეული თამაში. - მოდების ასლები. ზოგი კონფიგურაცია ერთი და იმავე მოდის workshop-ის ასლსა და სერვერის ასლს ინახავს - DayZ-ისა და Arma 3-ის მოდების საქაღალდეები, workshop-ის დირექტორიიდან გადმოკოპირებული, კლასიკური შემთხვევაა - რაც მათ ზომას აორმაგებს.
- Stream-ირებული asset-ები. FiveM კლიენტებს აწვდის საკუთარ ტრანსპორტს, რუკებსა და ტანსაცმელს და მათგან cache საქაღალდეს აწყობს. დიდი roleplay სერვერის რესურსები და cache ერთად ადვილად ათობით გიგაბაიტია.
- Web რუკები. Minecraft-ის Dynmap და BlueMap სამყაროს გამოსახულების tile-ებად არენდერებენ. მაღალი დეტალიზაციით დარენდერებული, დიდი სამყაროს tile-ების საქაღალდე შეიძლება სამყაროზე დიდი იყოს. დაარენდერე ნაკლები zoom-ის დონე ან გამოიყენე დაბალი გარჩევადობის პარამეტრი, და კომპრომისებისთვის იხილე web რუკები Dynmap-ითა და BlueMap-ით.
ლოგები, crash dump-ები და ლოკალური backup-ები#
ეს სამი ის ადგილია, სადაც დისკი ქრება ისე, რომ მის გამოყენებას არავინ წყვეტს.
ლოგები. თამაშების უმეტესობა ყოველ გაშვებაზე ახალ ლოგს წერს და ძველებს არასოდეს შლის. მრავალსიტყვიან Source სერვერს, Minecraft სერვერს ლაყბა plugin-ით ან FiveM სერვერს, რომელიც debug გამოსავალს ბეჭდავს, კვირაში ასობით მეგაბაიტის ჩაწერა შეუძლია. Minecraft ძველ ლოგებს logs/*.log.gz-ში კუმშავს, მაგრამ სამუდამოდ ინახავს. ლოგები, რომელთა შენახვაც ღირს აღწერს, რომელი ლოგები იმსახურებს ადგილს და რამდენ ხანს.
Crash dump-ები. Unity და Unreal სერვერები dump ფაილებს წერენ, როცა ეცემიან, და crash loop-ში მყოფ სერვერს მათი ათობით ჩაწერა შეუძლია, თითოეული ზოგჯერ ასობით მეგაბაიტი. ნებისმიერი არასტაბილური კვირის შემდეგ მოძებნე .dmp ფაილები და crashes საქაღალდეები.
ლოკალური backup-ები. Valheim-ის -backups, 7 Days to Die-ის სამყაროს backup-ები, Minecraft-ის backup plugin-ები და Palworld-ის backup-ის საქაღალდე ყველა სამყაროს ასლებს მის გვერდით წერს. 2 GB-იანი სამყაროს ოთხი backup 8 GB-ია. ისინი ასევე იმაზე ნაკლებისგან იცავენ, ვიდრე ხალხი ფიქრობს: იმავე დისკზე არსებული ასლი დაზიანებულ save-ს გადაურჩება, მაგრამ არა წაშლილ სერვერს ან გაფუჭებულ დისკს. Backup-ები, რომლებიც მართლა აღდგება ამ სხვაობას ხსნის.
RE:NODE-ზე პანელის backup-ები ინახება იმ მანქანის გარეთ, რომელსაც იცავენ, რაც მათ backup-ებად აქცევს და არა მეორე ასლებად, და backup-ის სლოტები ყველა გეგმას მოყვება. თამაშის ჩაშენებული backup-ები მაინც სერვერის საკუთარ დისკზე წერს, ამიტომ ან მათი რაოდენობა დაბალი შეინარჩუნე, ან გამორთე პანელის backup-ების სასარგებლოდ.
გაანგარიშებული მაგალითი: Paper სერვერი ერთი წლისთვის#
საზოგადოება გეგმავს Paper survival სერვერს დაახლოებით ოცდაათი მოთამაშისთვის, world border-ით, web რუკითა და ჩვეულებრივი plugin-ებით, და უნდა იცოდეს, რამდენი დისკი დასჭირდება პირველი წლის ბოლოსთვის და არა პირველ დღეს.
- ინსტალაცია. სერვერის jar, მისი ბიბლიოთეკები და plugin-ების jar-ები 1 GB-ზე საგრძნობლად ნაკლებია. დაამრგვალე 1 GB-მდე.
- სამყარო. საზღვარი 7,500 ბლოკით თითო მიმართულებით, წინასწარ დაგენერირებული, overworld-ისთვის; უფრო პატარა საზღვრები Nether-ისა და End-ისთვის. ამ არის წინასწარი გენერაცია პლუს ერთი წლის მშენებლობა სამ განზომილებაში ჯამში სადღაც 8-დან 15 GB-მდე გამოდის. ვთქვათ, 12 GB.
- Web რუკა. იმავე არის დეტალური რენდერი შეიძლება კიდევ ერთი სამყაროს ზომის იყოს. ნაკლები zoom-ის დონის რენდერი მას ანახევრებს. ბიუჯეტი 8 GB.
- Plugin-ების მონაცემები. ბლოკების ლოგერი, როგორიცაა CoreProtect, 30 დღის შესანახად გასუფთავებული, პლუს ეკონომიკის, claim-ებისა და სტატისტიკის მონაცემები. დატვირთულ სერვერზე 2-დან 4 GB-მდე. ბიუჯეტი 3 GB.
- ლოგები. შეკუმშული ყოველდღიური ლოგები, 90 დღით შენახული. 1 GB-ზე ნაკლები.
- ლოკალური backup-ები. არცერთი, რადგან backup-ები პანელზე მიდის და სხვაგან ინახება. თუ backup plugin-ი ასლებს სამყაროს გვერდით წერდა, აქ სამყაროს ზომა ორჯერ ან სამჯერ დაამატე.
- მარაგი. ზემოთ მოცემულ 25 GB-ზე ზემოდან მეოთხედი, ანუ დაახლოებით 6 GB მეტი.
ჯამში დაახლოებით 31 GB გამოდის, რაც გეგმების ზომების კიბეზე მიუთითებს დონეზე 30-დან 50 GB-მდე დისკით და არა ყველაზე პატარაზე. იგივე სავარჯიშო მეგობრების სერვერისთვის web რუკისა და საზღვრის გარეშე 10 GB-ზე ნაკლებს მისცემდა. არითმეტიკის ღირებულება შედეგის სიზუსტეში კი არა, სიაშია: ხალხს ავიწყდება web რუკა, ბლოკების ლოგერი და ლოკალური backup-ები, და სწორედ ისინი ავსებენ დისკს.
როგორ იპოვო, რამ შეავსო დისკი#
როცა სერვერს ადგილი ეწურება, რამის წაშლამდე დამნაშავე იპოვე. VDS-ზე ან ნებისმიერ ადგილას, სადაც shell გაქვს:
$ df -h /home/container$ du -sh /home/container/* | sort -h | tail -15$ du -sh /home/container/logs /home/container/crashes 2>/dev/null$ find /home/container -name "*.dmp" -size +50M$ find /home/container/logs -name "*.log.gz" -mtime +30 -deletedf -h აჩვენებს, რამდენად სავსეა volume; du -sh * | sort -h ჩამოთვლის ყველაზე დიდ ზედა დონის საქაღალდეებს, ყველაზე დიდს ბოლოს. ჩადი იმაში, რომელიც ყველაზე დიდია. ბოლო ხაზი შლის ოცდაათ დღეზე ძველ შეკუმშულ ლოგებს, რაც Minecraft-ზე უსაფრთხოა და სხვა თამაშების ლოგების სტრუქტურას უნდა მოერგოს. ncdu, სადაც დაყენებულია, იგივეს ინტერაქტიულად აკეთებს და კვლევისთვის უფრო სწრაფია.
პანელიან ჰოსტზე shell-ის გარეშე ფაილ მენეჯერი საქაღალდეების ზომებს აჩვენებს და მასობრივად წაშლა შეუძლია, SFTP კლიენტებსაც იგივე შეუძლიათ. ჯერ მოძებნე ლოგებში, crash dump-ების საქაღალდეებში, ლოკალური backup-ების საქაღალდეებში, workshop-ის კონტენტსა და web რუკის tile-ებში - ამ თანმიმდევრობით, ეს ხუთი მოულოდნელად სავსე დისკების უმეტესობას ხსნის. თამაშის სერვერის დისკი გაივსო ყოველი თამაშისთვის გასუფთავებას ნაბიჯ-ნაბიჯ გადის.
დისკის ზომა თუ დისკის სიჩქარე#
დისკის ზომა და დისკის სიჩქარე ცალკე კითხვებია, და ერთის მეტის ყიდვა მეორეს არაფერს მატებს. სიჩქარე რამდენიმე კონკრეტული ოპერაციისთვისაა მნიშვნელოვანი: სამყაროს შენახვა, რომელიც ჩაწერისას თამაშს ბლოკავს, chunk-ებისა და რეგიონების ჩატვირთვა, როცა მოთამაშეები იკვლევენ, სერვერის გაშვება, backup-ები და აღდგენა. ის CPU-ზე მიბმულ სერვერს tick-ს უფრო სწრაფად ვერ ააწყობინებს. რას ცვლის სინამდვილეში NVMe გადის, რომელი ოპერაციები გრძნობენ მას.
RE:NODE ყველა გეგმაზე NVMe-ს იყენებს ZFS pool-ზე, ასე რომ სიჩქარის კითხვა გადაწყვეტილია და დარჩენილი კითხვა ზომაა. ყოველი თამაშის გეგმების კიბე თავის დისკის მოცულობას აჩვენებს - 5 GB-დან ყველაზე პატარა Terraria-სა და Counter-Strike 1.6-ის დონეებზე 100 GB-მდე ყველაზე დიდ Minecraft-ის, 7 Days to Die-ისა და Arma 3-ის დონეებზე - დონის აწევა კი მოცულობას უკვე არსებულ სერვერზე ზრდის.
FAQ#
რამდენი თავისუფალი დისკის ადგილი უნდა ჰქონდეს თამაშის სერვერს?
მოცულობის მინიმუმ 20%, და 30% იმ თამაშებზე, რომლებსაც დიდი და ხშირი განახლებები ან მოდების დიდი სიები აქვთ. ამის უმეტესი ნაწილი განახლებებისთვისაა, რომლებსაც ერთდროულად ძველი და ახალი ფაილებისთვის სჭირდება ადგილი. დანარჩენი გასუფთავებებს შორის ლოგებს, crash dump-ებსა და save-ების ზრდას შთანთქავს.
რატომ ჩავარდა ჩემი სერვერის განახლება უცნაური state-ის კოდით?
თითქმის სავსე დისკზე - თითქმის ყოველთვის ადგილის გამო. SteamCMD update job-ის შემდეგ არანულოვან state-ს აჩვენებს, ნაცვლად იმისა, რომ თქვას, დისკი სავსეა. გაათავისუფლე რამდენიმე გიგაბაიტი, შემდეგ განახლება თავიდან გაუშვი validate-ით, რომ ყოველი ფაილი შემოწმდეს.
ითვლება თუ არა backup-ები ჩემი სერვერის დისკში?
თამაშის ჩაშენებული backup-ები - კი, რადგან ისინი სერვერის საკუთარ საქაღალდეებში იწერება. როგორ ითვლება პანელის backup-ები, ჰოსტზეა დამოკიდებული. RE:NODE-ზე ისინი ინახება იმ მანქანის გარეთ, რომელსაც იცავენ, და ეს ის თვისებაა, რაც მნიშვნელოვანია, თუ თავად სერვერი დაიკარგება.
რამდენად დიდი ხდება Minecraft-ის სამყარო?
ეს კვლევაზეა დამოკიდებული. პატარა ჯგუფის სამყარო შეიძლება ერთი წელი რამდენიმე გიგაბაიტზე ნაკლები დარჩეს; საჯარო სერვერი, სადაც მოთამაშეები თავისუფლად იკვლევენ, შეიძლება ათობით გიგაბაიტს მიაღწიოს. World border მას ზღუდავს, საზღვრის შიგნით წინასწარი გენერაცია კი საბოლოო ზომას წინასწარ გეუბნება.
უფრო დიდი დისკი უფრო სწრაფია?
არა. მოცულობა და სიჩქარე ცალკეა. სერვერს, რომელიც შენახვისას ფერხდება, უფრო სწრაფი დისკი ან უფრო პატარა save-ები სჭირდება და არა მეტი გიგაბაიტი. სერვერს, რომლის განახლებებიც ჩავარდება, მეტი თავისუფალი ადგილი სჭირდება და არა უფრო სწრაფი დისკი.




კომენტარები
სრულიად ანონიმურად: ანგარიშის, ელფოსტის და cookie-ის გარეშე. ინახება მხოლოდ სახელი, ტექსტი და დრო - სხვა არაფერი. ბმულების რაოდენობა ლიმიტირებულია.