RE:NODE

სახელმძღვანელოები14 წუთის საკითხავი

Assetto Corsa Server Manager: ჩემპიონატები

Assetto Corsa-ს ლიგის მართვა: Server Manager-ის ჩემპიონატები, ქულები და კლასები, ჩაკეტილი entry list, რეგისტრაცია, შებრუნებული გრიდი, პიტ-ფანჯრები და შედეგების ფაილები.

0 მკითხველი

ჩვეულებრივმა acServer-მა არ იცის, რა არის ჩემპიონატი. ის უშვებს შენ მიერ დაყენებულ სესიებს, თუ სთხოვ, ციკლურად იმეორებს მათ და ყოველ სესიაზე ერთ JSON შედეგების ფაილს წერს - ცხრილი, ქულები და ისიც, ვინ რომელ მანქანაშია ჩაწერილი, სხვისი საზრუნავია. ეს „სხვა" ჩვეულებრივ Assetto Corsa Server Manager-ია (ACSM), უფასო ვებ-ინტერფეისი, რომელიც ყოველი ივენთისთვის აწყობს server_cfg.ini-სა და entry_list.ini-ს, თავად უშვებს acServer-ს, აგროვებს შედეგებს და აქცევს მათ ქულების ცხრილად კლასებით, გუნდებით, რეგისტრაციით და ჯარიმებით. თუ კიდევ ერთი პროგრამის გაშვება არ გინდა, იგივე ლიგა შეიძლება ორი კონფიგურაციის ფაილითა და ცხრილით მართო, და ეს გზამკვლევი ორივეს მოიცავს: Server Manager-ის გზას და მის ქვეშ არსებულ პარამეტრებს, რომლებიც ნებისმიერ შემთხვევაში უნდა გესმოდეს.

თუ საბაზო სერვერი ჯერ არ აგიწყვია, დაიწყე Assetto Corsa-ს სერვერის გზამკვლევით, სადაც server_cfg.ini, სესიები, პორტები და მოდების კონტენტი გასაღებ-გასაღებ არის განხილული. ეს სტატია ვარაუდობს, რომ ის უკვე მუშაობს, და გადადის იმაზე, როგორ ატარო ერთი და იგივე მძღოლების შემადგენლობა კვირიდან კვირამდე.

რას აძლევს ლიგას ჩვეულებრივი acServer და რას არა#

ყველაფერი, რაც ლიგას თავად თამაშისგან სჭირდება, უკვე არსებობს; უბრალოდ ერთმანეთთან არ არის დაკავშირებული.

  • შედეგები. ყოველი სესიის ბოლოს acServer წერს JSON ფაილს თავის results საქაღალდეში, რომლის სახელშიც თარიღი, დრო და სესიის ტიპია - დაახლოებით ასე: 2026_10_7_20_45_RACE.json. მასში არის ყველა მანქანა, ყველა წრე, საუკეთესო წრეები, ჯამური დროები და შეჯახებები, რომლებიც სერვერმა დაინახა.
  • ფიქსირებული ადგილები. entry_list.ini ყოველ ჩანაწერზე GUID-ით და LOCKED_ENTRY_LIST=1 თითოეულ მძღოლს საკუთარ მანქანას, სკინსა და გრიდზე ადგილს აძლევს.
  • ბალანსის ხელსაწყოები. BALLAST და RESTRICTOR თითოეულ ჩანაწერზე, ხოლო server_cfg.ini-ში MAX_BALLAST_KG ზედა ზღვარია.
  • რბოლის ფორმატები. პრაქტიკა, კვალიფიკაცია და რბოლა თანმიმდევრობით, ასევე შებრუნებული გრიდით მეორე რბოლა და სავალდებულო პიტ-ფანჯარა - ყველაფერი კონფიგურაციაში ყენდება.

რაც მას არ აქვს, ეს მეხსიერებაა. ერთი სარბოლო საღამოდან მეორეზე არაფერი გადადის: არც ქულები, არც success ballast, არც ჩანაწერი იმაზე, რომ მძღოლი გასულ კვირას დაჯარიმდა. ყოველი ჩემპიონატის ხელსაწყო, ACSM-ის ჩათვლით, არის ფენა, რომელიც კითხულობს შედეგების ფაილებს, ინახავს მდგომარეობას ივენთებს შორის და შემდეგამდე წერს ახალ კონფიგურაციის ფაილებს. ამის ცოდნა პრობლემების მოგვარებას ბევრად ამარტივებს, რადგან ლიგის თითქმის ყველა პრობლემა ამ სამი ნაბიჯიდან ერთ-ერთის ჩავარდნაა.

Assetto Corsa Server Manager მოკლედ#

ACSM არის ერთი Go-ს ბინარული ფაილი ბრაუზერის ინტერფეისით, თავდაპირველად Emperor Servers-ის მიერ შექმნილი და GitHub-ზე ღია კოდით გამოქვეყნებული. ორიგინალი რეპოზიტორია ახლა დაარქივებულია და მხოლოდ წასაკითხადაა, ასე რომ, შენ დასრულებულ პროგრამას უშვებ და არა ისეთს, რომელიც ფეხქვეშ შეგეცვლება. თამაშისთვის, რომელიც წლებია არ განახლებულა, ეს უმეტესად სიმშვიდეა, თუმცა ნიშნავს იმასაც, რომ ხარვეზები ზემოთ აღარ გასწორდება და ახალი სამუშაო მხოლოდ ფორკებში ხდება.

დასაყენებელი ნაწილები ბინარული ფაილის გვერდით, config.yml-ში ცხოვრობს:

config.yml
steam:  install_path: assetto  executable_path: acServerhttp:  hostname: 0.0.0.0:8772  session_key: generate-a-long-random-string  server_manager_base_URL: https://league.example.comstore:  type: boltdb  path: server_manager.dbaccounts:  admin_password_override:server:  audit_logging: true  performance_mode: false  persist_mid_session_results: false
პარამეტრირას აკეთებს
http.hostnameვებ-ინტერფეისის მისამართი და პორტი. 8772 ნაგულისხმევია
http.session_keyშიფრავს შესვლის სესიებს. დააყენე საკუთარი შემთხვევითი მნიშვნელობა
server_manager_base_URLგამოიყენება ბმულებისთვის ჩემპიონატის შეტყობინებებსა და რეგისტრაციაში
store.typeboltdb ყველაფერს ერთ ფაილში ინახავს; json თითო ივენთზე ერთ ფაილს წერს
store.pathსად ინახება ეს მონაცემები. სწორედ ამ ფაილის backup გჭირდება
admin_password_overrideadmin-ის პაროლის საგანგებო აღდგენა
audit_loggingიწერს, რომელმა მომხმარებელმა რა გაუშვა, გააჩერა ან წაშალა
performance_modeCPU-ს დასაზოგად თიშავს live timing-ს

პირველი შესვლა ხდება მომხმარებლით admin და პაროლით servermanager, და მისი შეცვლა მაშინვე მოგიწევს. თუ მოგვიანებით დაკარგავ, ჩაწერე დროებითი მნიშვნელობა admin_password_override-ში, გადატვირთე, შედი მისით და დააყენე ახალი. ყოველ სტიუარდს ცალკე ანგარიში შეუქმენი და admin-ის შესვლა ნუ გააზიარე; audit log მხოლოდ მაშინ არის სასარგებლო, როცა მასში სახელები რაღაცას ნიშნავს.

მნიშვნელობა აქვს, სად მუშაობს. ACSM თავად უშვებს და აჩერებს acServer-ს, ამიტომ უნდა, რომ პროცესს თვითონ მართავდეს. ეს შეესაბამება მანქანას, რომელსაც შენ აკონტროლებ - საკუთარ კომპიუტერს ან გამოყოფილ სერვერს - სადაც ხსნი 9600 TCP-სა და UDP-ს, 8081 TCP-ს და ვებ-პორტს. თამაშის პანელზე პროცესს პანელი მართავს, ამიტომ იქ პრაქტიკული გზა ქვემოთ აღწერილი ფაილებზე დაფუძნებული სამუშაო პროცესია: პანელი უშვებს acServer-ს, შენ კი ივენთებს შორის ორ კონფიგურაციის ფაილს ცვლი.

ჩემპიონატის აწყობა: კლასები, ქულები და ივენთები#

ჩემპიონატი ACSM-ში არის კლასების სია, მონაწილეების სია და ივენთების სია. ყოველი ივენთი არის ტრასა, მისი კონფიგურაცია, სესიების თანმიმდევრობა და დაწყების დრო; როცა ივენთს იწყებ, ACSM წერს ამ ივენთის კონფიგურაციას, უშვებს სერვერს და სესიების დასრულებისას შედეგებს ჩემპიონატს ანიჭებს.

კლასები

კლასი არის მანქანების ნაკრები საკუთარი ქულების ცხრილით. ერთმარკიან სერიას ერთი კლასი სჭირდება. მრავალკლასიან endurance გრიდს - სადაც GT3 და GT4 ერთ ტრასას იზიარებენ - თითო კატეგორიაზე ერთი კლასი სჭირდება, თითოეული ცალკე ითვლება, რაც ერთადერთი სამართლიანი გზაა ისეთი შემადგენლობის შესაფასებლად, სადაც ნელი კლასი აბსოლუტურში ვერასდროს მოიგებს.

ქულები

ნაგულისხმევი ცხრილი Formula 1-ისაა, და ყოველი ველი კლასის მიხედვით რედაქტირებადია:

ველინაგულისხმევირას აჯილდოებს
ადგილები25, 18, 15, 12, 10, 8, 6, 4, 2, 1ქულები კლასში დასრულების ადგილის მიხედვით
საუკეთესო წრე0ბონუსი რბოლის ყველაზე სწრაფი წრისთვის
პოული0ბონუსი კვალიფიკაციაში პირველობისთვის
შეჯახება მძღოლთან0ქულები, რომლებიც აკლდება ყოველ მანქანა-მანქანასთან კონტაქტზე
შეჯახება გარემოსთან0ქულები, რომლებიც აკლდება ყოველ კედელთან კონტაქტზე
ტრასის მოჭრა0ქულები, რომლებიც აკლდება ყოველ დათვლილ მოჭრაზე
მეორე რბოლის მამრავლი1აფასებს ქულებს შებრუნებული გრიდის მეორე რბოლისთვის

შეჯახებისა და მოჭრის გამოქვითვები მაცდურია და ჩვეულებრივ შეცდომაა. სერვერი ყოველ შეხებას ითვლის, მათ შორის იმასაც, როცა სხვამ შეგიჯახა, ასე რომ, ავტომატური გამოქვითვები მსხვერპლს ისევე სჯის, როგორც დამნაშავეს. დატოვე ისინი ნულზე და ინციდენტები სტიუარდებით მოაგვარე. პატარა ბონუსი საუკეთესო წრისთვის ნორმალურია; დიდი კი აჯილდოებს მძღოლებს, რომლებიც ბოლო ორ წრეზე ახალი საბურავებისთვის პიტში შედიან, ნაცვლად იმისა, რომ იბრძოლონ.

თანაბარი ქულები countback-ით წყდება - უფრო მაღლა დგება მძღოლი, ვისაც მეტი გამარჯვება აქვს, შემდეგ მეტი მეორე ადგილი და ასე შემდეგ - რაც ლიგების უმეტესობის ჩვეულებაა ისედაც. გამოაქვეყნე ეს წესებში, რომ ბოლო ეტაპზე არავინ გაუკვირდეს.

ივენთები

დაამატე ივენთები კალენდრის თანმიმდევრობით და თითოეულს მიეცი სესიების სრული თანმიმდევრობა: პრაქტიკა, კვალიფიკაცია, რბოლა და მეორე რბოლა, თუ ატარებ. შეგიძლია ივენთი დააკოპირო და მხოლოდ ტრასა შეცვალო, რაც სესიების ხანგრძლივობასა და დამხმარე სისტემებს სეზონის განმავლობაში ერთნაირს ტოვებს. ერთდროულად ერთი რამ შეცვალე სეზონებს შორის და არა ეტაპებს შორის.

Entry list-ები ლიგისთვის#

Entry list არის ის ადგილი, სადაც ლიგა ან ორგანიზებულად გამოიყურება, ან არა. მის შესავსებად სამი გზა გაქვს.

ფიქსირებული სია. ყოველ მძღოლს თავად ამატებ, GUID-ად მის SteamID64-ს უთითებ, ასევე მის მანქანას, სკინსა და გუნდს. ჩაკეტილი entry list-ით მის ადგილს ვერავინ დაიკავებს და ის ყოველთვის ერთსა და იმავე მანქანაში ჩნდება. ეს ყველაზე მეტ შრომას მოითხოვს და ყველაზე ნაკლებ პრობლემას ქმნის.

ღია მონაწილეები. ჩემპიონატი იღებს ყველას, ვინც შემოდის, და ავტომატურად ამატებს მონაწილეთა სიაში. persist ოფციის ჩართვისას მანქანა და სკინი, რომლითაც მძღოლი პირველად შემოვიდა, სეზონის განმავლობაში მისი ხდება. ეს უხდება საჯარო „ხუთშაბათის საღამოს" სერიას ცვალებადი შემადგენლობით; ლიგას მოლოდინის სიით კი არ უხდება.

სარეგისტრაციო ფორმა. ACSM-ს შეუძლია გამოაქვეყნოს რეგისტრაციის გვერდი, სადაც მძღოლები შეიყვანენ სახელს, Steam GUID-ს, გუნდს და სასურველ მანქანასა და სკინს, სურვილისამებრ დამატებითი კითხვებითა და reCAPTCHA-ს დაცვით, რომლებიც config.yml-ის championships სექციაში ყენდება. მოთხოვნები შეიძლება ავტომატურად მიიღო ან ხელით დაადასტურო. დადასტურებული მძღოლები მონაწილეთა სიაში უკვე შევსებული GUID-ით ხვდებიან, რაც შლის ყველაზე შეცდომიან ნაბიჯს - ჩვიდმეტნიშნა რიცხვების კოპირებას Discord-ის შეტყობინებებიდან.

რომელიც არ უნდა გამოიყენო, საბაზო სერვერის წესები ქვემოთ მაინც მოქმედებს:

  • ჩანაწერების რაოდენობა და MAX_CLIENTS არ უნდა აღემატებოდეს ტრასის პიტ-ბოქსებს. 32-მანქანიანი გრიდი 24-ბოქსიან ტრასაზე არ ეტევა, და ჩავარდნა გაფუჭებულ სესიას ჰგავს და არა გასაგებ შეცდომას.
  • ყოველი MODEL ივენთის მანქანების სიაში უნდა იყოს და ყოველი SKIN სერვერზე ამ მანქანის skins საქაღალდეში უნდა არსებობდეს, თორემ სერვერი სხვა ვარიანტზე გადადის ან ჩანაწერს უარყოფს.
  • მძღოლებს ყოველი მოდ-მანქანისა და ტრასის ერთი და იგივე ვერსია სჭირდებათ. პირველ ეტაპამდე გამოაქვეყნე კონტენტის სია ჩამოსატვირთი ბმულებით - Assetto Corsa-ს კონტენტი, Content Manager და მოდ-ტრასები აღწერს, როგორ შეფუთო ის ისე, რომ ხალხმა მართლა დააინსტალიროს.

ბალასტი და რესტრიქტორი

მათი გამოყენების ორი გზა არსებობს. ფიქსირებული ბალანსი არის სეზონისთვის დაყენებული მნიშვნელობა თითოეულ ჩანაწერზე - ახალბედების კლასი ან ჰანდიკაპიანი ვეტერანი. Success ballast ყოველ ეტაპზე იცვლება: ჩემპიონატის ლიდერი 30 კგ-ს ატარებს, მეორე 20 კგ-ს და ასე შემდეგ. ჩვეულებრივმა acServer-მა წარმოდგენა არ აქვს, ვინ ლიდერობს, ამიტომ success ballast ყოველ ეტაპამდე entry list-ის რედაქტირებას ნიშნავს, რასაც ACSM-ის ივენთის მიხედვით მონაწილეების რედაქტირება აჩქარებს. MAX_BALLAST_KG შეინარჩუნე იმაზე მაღლა, ვიდრე ყველაზე დიდი მნიშვნელობა, რომელსაც გამოიყენებ, თორემ სერვერი მას ჩუმად შეკვეცს.

რესტრიქტორი სიმძლავრის პროცენტული შემცირებაა და ბალასტისგან განსხვავებულად იგრძნობა: ბალასტი ამუხრუჭებასა და მოხვევას აზიანებს, რესტრიქტორი - სწორ მონაკვეთებს. სხვადასხვა მანქანის დასაბალანსებლად რესტრიქტორი გამოიყენე; უბრალოდ უფრო სწრაფი მძღოლის შესანელებლად კი გრძელსწორიან ტრასებზე ბალასტი ნაკლებად მკაცრია.

რბოლის ფორმატები: შებრუნებული გრიდი, პიტ-ფანჯრები და სარბოლო შაბათ-კვირა#

ლიგის ფორმატების უმეტესობა server_cfg.ini-ში რამდენიმე გასაღებია, რომლებსაც ACSM ფორმის ველებად აჩვენებს:

cfg/server_cfg.ini
[SERVER]LOCKED_ENTRY_LIST=1PICKUP_MODE_ENABLED=0MAX_BALLAST_KG=100REVERSED_GRID_RACE_POSITIONS=8RACE_PIT_WINDOW_START=10RACE_PIT_WINDOW_END=20RACE_EXTRA_LAP=0QUALIFY_MAX_WAIT_PERC=120[RACE]NAME=RaceLAPS=25WAIT_TIME=90IS_OPEN=0
გასაღებირას აკეთებს
REVERSED_GRID_RACE_POSITIONS0 - მეორე რბოლა არ არის; N - მეორე რბოლა პირველი N-ის შებრუნებით; -1 - მთელი შემადგენლობა შებრუნებულია
RACE_PIT_WINDOW_START / _ENDწრეების (დროზე რბოლაში - წუთების) დიაპაზონი, რომელშიც სავალდებულო გაჩერება უნდა მოხდეს
RACE_EXTRA_LAP1 დროზე რბოლაში ტაიმერის ამოწურვის შემდეგ ერთ წრეს ამატებს
QUALIFY_MAX_WAIT_PERCრამდენ ხანს ელოდება სერვერი წრეზე მყოფ მძღოლებს კვალიფიკაციის დასრულებისას, საუკეთესო წრის პროცენტად
IS_OPEN0 რბოლას დაგვიანებულებისთვის ხურავს; 1 უშვებს მათ; 2 უშვებს სტარტამდე 20 წამამდე

შებრუნებული გრიდი კლასიკური ორრბოლიანი ფორმატია: სპრინტი კვალიფიკაციის რიგით, შემდეგ მეორე რბოლა, სადაც პირველი რვა შებრუნებულია. დააწყვილე ის 1-ზე ნაკლებ Second race multiplier-თან - გავრცელებულია 0.5 - რომ ლატარიის რბოლამ ტიტული არ გადაწყვიტოს.

პიტ-ფანჯარა სპრინტს სტრატეგიულ რბოლად აქცევს და ყველაზე ახლოს არის სავალდებულო გაჩერებასთან, რაც ჩვეულებრივ სერვერს შეუძლია. მძღოლი, რომელიც ფანჯრის შიგნით არ გაჩერდება, ბოლოს ჯარიმდება. აუხსენი ეს რბოლისწინა ბრიფინგზე; ვიღაცას ყოველთვის ავიწყდება.

ACSM-ს ასევე აქვს race weekends: სესიების ჯაჭვი, რომლებიც შეიძლება სხვადასხვა დროს ჩატარდეს - კვალიფიკაცია ოთხშაბათს, რბოლები ხუთშაბათს - სადაც ყოველი სესიის გრიდი წინა სესიის შედეგებიდან იგება, ფილტრებით, როგორიცაა შემადგენლობის შებრუნება ან გაყოფა. ეს ის ფუნქციაა, რომელსაც მიმართავ, როცა გრიდი პიტ-ბოქსებზე დიდია და კვალიფიკაციის ორ რბოლად გაყოფა გჭირდება, ან როცა ხალხს ერთ გრძელ საღამოს დათმობა არ შეუძლია.

სარბოლო საღამოს ჩატარება#

რუტინა, რომელიც საღამოს მშვიდად ინარჩუნებს:

  1. საღამომდე. დარწმუნდი, რომ კონტენტის სია საბოლოოა, entry list დადასტურებულ მძღოლებს ემთხვევა და ივენთის ტრასის კონფიგურაცია სწორია. ივენთი ერთი საათით ადრე დაიწყე ღია პრაქტიკით, რომ პრობლემები გრიდის შეკრებამდე გამოჩნდეს.
  2. ოცდაათი წუთით ადრე. გამოაქვეყნე სერვერის სახელი, პაროლი და შეხსენება კონტენტის ვერსიებზე. შესვლის ჩავარდნების უმეტესობა checksum-ის შეცდომაა ვიღაცის მოძველებული მოდიდან.
  3. კვალიფიკაციის დროს. live timing-ში უყურე მძღოლებს, რომლებსაც დრო ჯერ არ დაუყენებიათ. ვინც ამ მომენტში აკლია, ჩვეულებრივ შესვლის შეცდომაზეა გაჭედილი და არა დაგვიანებული.
  4. რბოლის დროს. ერთი სტიუარდი უყურებს, მართვის ელემენტებს სხვა არავინ ეხება. ადმინის ჩატის ბრძანებები - /admin ადმინის პაროლით, შემდეგ /kick, /next_session, /restart_session - საგანგებო შემთხვევებისთვისაა და არა შედეგების შესასწორებლად.
  5. რბოლის შემდეგ. აცადე შედეგების ფაილს ჩაწერა. სერვერს ნუ გააჩერებ იმ წამს, როცა ლიდერი ფინიშის ხაზს გადაკვეთს: შედეგები სესიის დასრულებისას იწერება, RACE_OVER_TIME-ის შემდეგ.

ეს ბოლო პუნქტი ორგანიზატორებს მუდმივად აბამს. სესიის შუაში გაჩერებული სერვერი ამ სესიისთვის არაფერს წერს. ACSM-ის ექსპერიმენტული persist_mid_session_results ოფცია ამისგან დაცვას ცდილობს გაჩერებამდე სესიის იძულებითი შეცვლით, მაგრამ უფრო უსაფრთხო ჩვევაა, სესიებს საკუთარი თავით დასრულება აცადო.

შედეგები, ჯარიმები და აპელაციები#

შედეგების JSON ჭეშმარიტების წყაროა. ACSM ივენთის დასრულებისას მას ავტომატურად შემოაქვს ჩემპიონატში, და შედეგების ფაილის ხელით შემოტანაც შეგიძლია - ასე აღადგენ რბოლას, რომელიც შეცდომით ჩემპიონატის გარეთ ან სხვა სერვერზე ჩატარდა.

ჯარიმები შედეგების ხედში ემატება დამატებითი დროის ან ადგილების ჩამოწევის სახით, და ქულები ამის მიხედვით ხელახლა ითვლება. სტიუარდინგის პროცესი სეზონის დაწყებამდე დაადგინე:

  • პროტესტების ვადა, მაგალითად რბოლიდან 24 საათი, რეპლეის დროის ნიშნულის სავალდებულო მითითებით.
  • პატარა კომისია და არა ერთი ადამიანი, და არც ვინმე, ვინც ინციდენტში მონაწილეობდა.
  • ჯარიმების ფიქსირებული სკალა - ხუთი წამი მცირე, თავიდან ასაცილებელ კონტაქტზე, drive-through-ის ეკვივალენტი სერიოზულზე - რომ გადაწყვეტილებები თანმიმდევრული იყოს და არა პირადი.

ყოველი ნედლი შედეგების ფაილის ასლი შეინახე ჯარიმების დადების შემდეგაც. თუ გადაწყვეტილება გაუქმდება, გადასათვლელად ორიგინალი გინდა და არა რედაქტირებების ჯაჭვი. სერვერის წესები, მოდერაცია და პერსონალი ამის ადამიანურ მხარეს უფრო დეტალურად განიხილავს, ხოლო თამაშის სერვერის ივენთები და ტურნირები ორგანიზებული საღამოების ჩატარების უფრო ფართო სახელმძღვანელოა.

ფაილებზე დაფუძნებული ალტერნატივა

ACSM-ის გარეშე ლიგა სამი საქაღალდე და რუტინაა. თითო ეტაპზე შეინახე ერთი წყვილი server_cfg.ini და entry_list.ini, ეტაპის სახელით, და საღამომდე სწორი წყვილი დააკოპირე cfg/-ში. რბოლის შემდეგ აიღე JSON results-იდან, ჩაწერე ფინიშის რიგი ცხრილში შენი ქულების სისტემითა და countback-ის წესით, იქვე დაადე ჯარიმები და შემდეგი ეტაპის entry list განაახლე success ballast-ით. ეს უფრო ხელით სამუშაოა და თორმეტმანქანიანი ლიგისთვის სრულიად მისაღებია, და ერთი რეალური უპირატესობაც აქვს: ყოველი ეტაპის კონფიგურაცია და ყოველი შედეგი უბრალო ფაილია, რომელსაც ათი წლის შემდეგაც წაიკითხავ.

ასევე ასე მუშაობს ლიგა პანელით მართულ სერვერზე. RE:NODE-ზე ორივე ფაილს ბრაუზერის რედაქტორში არედაქტირებ ან ეტაპის წყვილს SFTP-ით ტვირთავ, results საქაღალდეს ფაილ-მენეჯერიდან ჩამოტვირთავ და სერვერს კონსოლიდან გადატვირთავ. Schedules-ის ჩანაწერს შეუძლია სერვერი ფიქსირებულ დროს შემდეგი სესიების თანმიმდევრობით გადატვირთოს, ხოლო backup-ები სარბოლო საღამომდე მოთხოვნისამებრ შეიძლება გაკეთდეს. თუ მაინც ACSM-ის ვებ-ინტერფეისი გინდა, ეს იმ მანქანის საქმეა, რომელზეც პროცესებს თავად უშვებ.

Backup-ები და სეზონის დაცვა#

რაც ლიგაში შეუცვლელია, პატარაა, და სწორედ ამიტომ ავიწყდებათ მისი კოპირება:

  • server_manager.db (ან JSON საცავის საქაღალდე) - ACSM-ში ყოველი ჩემპიონატი, მონაწილე, ივენთი და შედეგი.
  • config.yml, session key-ის ჩათვლით; მისი დაკარგვა ყველას გამოაგდებს, მაგრამ მონაცემებს არ დაკარგავს.
  • acServer-ის results საქაღალდე, რომელიც შენი სათადარიგო ვარიანტია, თუ მონაცემთა ბაზა ოდესმე დაზიანდება.
  • შენი კონტენტის სია ზუსტი ვერსიებითა და ბმულებით.

ამათი backup ყოველი ეტაპის შემდეგ გააკეთე და არა ყოველკვირეულად. სეზონი ერთი ფაილია, რომელიც კვირაში ერთხელ იცვლება, რაც მას დასაცავად მსოფლიოში ყველაზე მარტივ და მეხსიერებიდან აღსადგენად ყველაზე მტკივნეულ რამედ აქცევს. Backup-ები, რომლებიც მართლა აღდგება ხსნის, რატომ ღირს სეზონის დაწყებამდე ერთი სატესტო აღდგენა მეტი, ვიდრე ნებისმიერი რაოდენობის შეუმოწმებელი ასლი.

პრობლემების მოგვარება#

ივენთი დაიწყო, მაგრამ ჩემპიონატი შედეგებს არ აჩვენებს. სესია დასრულებამდე გააჩერეს, ამიტომ შედეგების ფაილი არ ჩაიწერა. შეამოწმე results საქაღალდე; თუ ფაილი არსებობს, ხელით შემოიტანე.

მძღოლი ჩემპიონატში ორჯერ არის. ერთხელ სხვა Steam ანგარიშით შემოვიდა, ან ღია მონაწილეობამ შენზე ადრე დაამატა. გააერთიანე: შემდეგ ეტაპამდე დატოვე ერთი GUID და დუბლიკატი წაშალე, რადგან ქულები სახელს არ მიჰყვება.

მძღოლებს შესვლისთანავე აგდებს. ჩაკეტილი entry list GUID-ით, რომელიც არ ემთხვევა, სკინი, რომელიც არ არსებობს, ან checksum-ის შეცდომა. სერვერის ლოგში ეწერება, რომელია.

გრიდი entry list-ზე მოკლეა. MAX_CLIENTS ან ტრასის პიტ-ბოქსები შენი მონაწილეების რაოდენობაზე ნაკლებია. გამოიყენე race weekend გაყოფილი კვალიფიკაციით.

მეორე რბოლა არასდროს იწყება. REVERSED_GRID_RACE_POSITIONS არის 0, ან RACE_OVER_TIME-ის შემდეგ რბოლას გასავლელი წრეები აღარ რჩება. მნიშვნელობა შეამოწმე გენერირებულ server_cfg.ini-ში და არა ფორმაში.

ვებ-ინტერფეისი მიუწვდომელია. ვებ-პორტი ღია არ არის, ან hostname მიბმულია localhost-ზე. თამაშის სერვერის პორტების ახსნა აღწერს, როგორ შეამოწმო პორტები სათითაოდ; კონსოლის კითხვა კი იმაზეა, როგორ იპოვო ლოგში ხაზი, რომელიც გეუბნება, რომელ მისამართზე მიება.

FAQ#

Assetto Corsa Server Manager კიდევ ვითარდება?

ორიგინალი ღია კოდის რეპოზიტორია დაარქივებული და მხოლოდ წასაკითხია. პროგრამა მაინც მუშაობს, რადგან Assetto Corsa-ს სერვერი წლებია არ შეცვლილა, მაგრამ გასწორებები და ახალი ფუნქციები მხოლოდ საზოგადოების ფორკებში ჩნდება.

შემიძლია ჩემპიონატის ჩატარება Server Manager-ის გარეშე?

კი. თითო ეტაპზე შეინახე კონფიგურაციის ფაილების წყვილი, ყოველი რბოლის შემდეგ წაიკითხე JSON შედეგების ფაილები და დაითვალე ქულები ცხრილში. ეს ეტაპზე უფრო ნელია და ჰოსტინგისთვის გაცილებით მარტივი, რაც პანელით მართულ სერვერზე პატარა ლიგებს უხდება.

როგორ შევაჩერო უცხოები, რომ ლიგის ადგილები არ დაიკავონ?

ჩაწერე ყოველი მძღოლის SteamID64 მისი ჩანაწერის GUID ველში და დააყენე LOCKED_ENTRY_LIST=1. დაამატე შესვლის პაროლიც, რომ სერვერი არ გაივსოს ხალხით, რომლებსაც შემდეგ აგდებს.

რისთვის არის მეორე რბოლის მამრავლი?

ის აფასებს ქულებს შებრუნებული გრიდის მეორე რბოლისთვის. მნიშვნელობა 0.5 ნახევარ ქულებს იძლევა, რაც შებრუნებულ რბოლას აზრიანს ტოვებს, ისე რომ იღბლიანმა შედეგმა სრულფასოვან მთავარ რბოლას არ გადაწონოს.

ავტომატურად უნდა გამოვქვითო ქულები შეჯახებებისთვის?

ჩვეულებრივ არა. სერვერი ყოველ კონტაქტს ითვლის, მიუხედავად იმისა, ვინ არის დამნაშავე, ამიტომ ავტომატური გამოქვითვები სჯის როგორც იმ მძღოლს, რომელსაც დაეჯახნენ, ისე იმას, ვინც დაეჯახა. რეპლეიებით სტიუარდინგი უფრო სამართლიანია.

სად ინახება რბოლის შედეგები?

სერვერის results საქაღალდეში, თითო სესიაზე ერთი JSON ფაილი. Server Manager მათ საკუთარ მონაცემთა ბაზაში შემოიტანს, მაგრამ ნედლი ფაილები ღირს შეინახო როგორც backup და აუდიტის კვალი.


კომენტარები

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

0/2000