თამაშის სერვერები დაახლოებით რვა ტექსტურ ფორმატში კონფიგურირდება, და თითქმის ყოველი "ჩემმა პარამეტრმა არაფერი შეცვალა" ან "რედაქტირების შემდეგ სერვერი აღარ ეშვება" სამიდან ერთ რამეზე დაიყვანება: დაირღვა ფორმატის სინტაქსის წესი, ფაილს სერვერი გაჩერებისას თავიდან წერს, ან გასაღებს ჰოსტინგის პანელი გაშვებისას გადააწერს. ისწავლე თითოეული ფორმატის წესები ერთხელ - INI-ის სექციები, JSON-ში კომენტარებისა და ბოლო მძიმეების აკრძალვა, YAML-ში tab-ების აკრძალვა, XML-ის escaping, Bohemia-ს .cfg ფაილების წერტილ-მძიმეები - და არედაქტირე გაჩერებულ სერვერზე, და ამ პრობლემების უმეტესობა გაქრება. ეს სტატია ფორმატების საველე გზამკვლევია: რომელი თამაში რომელს იყენებს და როგორ შეამოწმო ფაილი, სანამ შეცდომას სერვერი შენ მაგივრად იპოვის.
რომელი თამაში რომელ ფორმატს იყენებს#
| ფორმატი | ტიპური ფაილები | თამაშები |
|---|---|---|
| INI | GameUserSettings.ini, Game.ini, PalWorldSettings.ini, cluster.ini | Unreal Engine-ის თამაშები, Palworld, ARK, Don't Starve Together |
| Properties / key=value | server.properties, servertest.ini, serverconfig.txt | Minecraft, Project Zomboid, Terraria |
| JSON | ServerHostSettings.json, enshrouded_server.json, server-settings.json | V Rising, Enshrouded, Factorio |
| YAML | paper-global.yml, bukkit.yml, plugin-ის config.yml | Paper და Spigot, Minecraft-ის plugin-ების უმეტესობა |
| XML | serverconfig.xml, serversettings.xml, types.xml | 7 Days to Die, Barotrauma, Space Engineers, DayZ-ის loot |
კონსოლის .cfg | server.cfg, autoexec.cfg | Source-ის თამაშები (CS2, TF2, Garry's Mod), FiveM |
Bohemia-ს .cfg | serverDZ.cfg, server.cfg | DayZ, Arma 3 |
| Lua | SandboxVars.lua, modoverrides.lua | Project Zomboid, Don't Starve Together |
| TOML | ServerConfig.toml, velocity.toml, მოდების კონფიგები | BeamMP, Velocity, NeoForge-ის მოდები |
გაფართოება ყოველთვის არ გეუბნება ფორმატს. Project Zomboid-ის servertest.ini უბრალო key=value-ა სექციების გარეშე. Source-ის თამაშში .cfg კონსოლის ბრძანებების სიაა, DayZ-ში კი .cfg კლასებზე დაფუძნებული სინტაქსია წერტილ-მძიმეებით. სანამ რამეს ივარაუდებ, ფაილს შეხედე.
INI, properties და Unreal-ის ვარიანტი#
INI აქ ყველაზე ძველი ფორმატია: სექციები კვადრატულ ფრჩხილებში, მათ ქვეშ key=value ხაზები, კომენტარები ;-ით იწყება (ზოგი parser #-საც იღებს).
[ServerSettings]ServerPassword=ServerAdminPassword=change-meDifficultyOffset=1.0XPMultiplier=2.0[SessionSettings]SessionName=My ARK Serverსექციას მნიშვნელობა აქვს. სწორი გასაღები არასწორი სათაურის ქვეშ ჩუმად იგნორირდება, და ეს ARK-ის კლასიკური შეცდომაა: Game.ini-ის პარამეტრის ჩაწერა GameUserSettings.ini-ში, ან სწორი გასაღები [SessionSettings]-ის ქვეშ [ServerSettings]-ის ნაცვლად.
Unreal Engine-ის თამაშებს ორი საკუთარი ჩვევა აქვს. სექციების სახელები ხშირად სკრიპტის გზებია, მაგალითად [/Script/Pal.PalGameWorldSettings]. და ზოგი თამაში ყველა პარამეტრს ჩადგმული მნიშვნელობების ერთ ძალიან გრძელ ხაზში ათავსებს:
[/Script/Pal.PalGameWorldSettings]OptionSettings=(Difficulty=None,ExpRate=1.000000,ServerPlayerMaxNum=32,ServerName="My Palworld",AdminPassword="change-me",PublicPort=8211)ეს ხაზი ერთ მნიშვნელობად იკითხება. ერთი გამოტოვებული მძიმე, დაუხურავი ბრჭყალი ან ფრჩხილებში შემთხვევითი ხაზის გადატანა - და თამაში მთელ ხაზს უგულებელყოფს და ნაგულისხმევით იწყებს, ცარიელი ადმინის პაროლის ჩათვლით. არედაქტირე უბრალო ტექსტურ რედაქტორში, ერთ ჯერზე ერთი მნიშვნელობა შეცვალე და ბოლო მომუშავე ვერსიის ასლი შეინახე. Palworld-ის სერვერის პარამეტრების გზამკვლევი განიხილავს, რას აკეთებს თითოეული ეს ოფცია.
Unreal-ის სერვერები გაჩერებისას თავიანთ კონფიგ ფაილებს დისკზე თავიდან წერენ. თუ GameUserSettings.ini-ს სერვერის მუშაობისას დაარედაქტირებ, შემდეგ გაჩერებაზე შენს ცვლილებას სერვერის მეხსიერებაში არსებული ასლი გადააწერს. ჯერ გააჩერე, დაარედაქტირე, შემდეგ გაუშვი. Unreal Engine-ის გამოყოფილი სერვერის საფუძვლები ხსნის ფაილების განლაგებას და რომელი საქაღალდე მოქმედებს რეალურად.
Don't Starve Together კლასიკურ INI-ს იყენებს cluster.ini-სა და თითოეული shard-ის server.ini-სთვის, ისეთი სექციებით, როგორიცაა [GAMEPLAY], [NETWORK] და [SHARD]. იგივე წესი მოქმედებს: სწორი გასაღები, სწორი სექცია.
Properties და უბრალო key=value
Minecraft-ის server.properties Java-ს properties ფაილია: ერთი key=value თითო ხაზზე, # კომენტარებისთვის, სექციების გარეშე.
# Minecraft server propertiesview-distance=8simulation-distance=6white-list=truemotd=A \u00A7aGreen\u00A7r serverსამი დეტალი აბრკოლებს ხალხს. მნიშვნელობის შემდეგ სივრცე მის ნაწილად რჩება, ამიტომ white-list=true ბოლო სივრცით შეიძლება true-ს არ ნიშნავდეს. უკუღმა დახრილი ხაზები escape სიმბოლოებია, ამიტომაც იწერება ფერის კოდები ხშირად \u00A7-ით. და სერვერი გაშვებისას ფაილს თავიდან წერს, ამატებს აკლებულ გასაღებებს ნაგულისხმევით და ზოგჯერ ხაზებს ალაგებს, ამიტომ შენ მიერ დამატებული კომენტარები შეიძლება გაქრეს. ყველა გასაღები ახსნილია სტატიაში server.properties - ახსნა.
Project Zomboid-ის servertest.ini (შენი სერვერის სახელს ატარებს) და Terraria-ს serverconfig.txt იგივე იდეაა საკუთარი გასაღებებით. Zomboid-ის სიები მნიშვნელობის შიგნით წერტილ-მძიმეებს იყენებს - Mods=modA;modB და WorkshopItems=123;456 - და შემთხვევითი სივრცე ან ამ ორ ხაზს შორის რაოდენობის შეუსაბამობა მოდების ჩაუტვირთავობის ხშირი მიზეზია.
JSON#
JSON მკაცრია, და ეს მისი მთელი ხასიათია. ობიექტები ფიგურულ ფრჩხილებში, მასივები კვადრატულში, გასაღებები ორმაგ ბრჭყალებში, მნიშვნელობები კი სტრიქონები, რიცხვები, true, false ან null.
{ "Name": "My V Rising Server", "Port": 9876, "QueryPort": 9877, "MaxConnectedUsers": 40, "Password": "", "Secure": true}წესები, რომლებიც სერვერებს აფუჭებს:
- არანაირი ბოლო მძიმე.
"Secure": true,დამხურავი ფრჩხილის წინ არასწორია. - არანაირი კომენტარი. არც
//და არც#დაშვებული არ არის. Factorio ამას"_comment_visibility"-ის მსგავსი გასაღებებით უვლის გვერდს, რომლებსაც თამაში იგნორირებს - მინიშნება, რომ ნამდვილი კომენტარები არ უნდა დაამატო. - მხოლოდ ორმაგი ბრჭყალები. ერთმაგი ბრჭყალები არასწორია.
- ტიპებს მნიშვნელობა აქვს.
"Port": "9876"სტრიქონია და არა რიცხვი, და ზოგი სერვერი მას უარყოფს ან იგნორირებს. - უკუღმა დახრილი ხაზები escape-ს საჭიროებს. Windows-ის გზა ასე იწერება:
"C:\\Servers\\save".
JSON-ის შეცდომა ჩვეულებრივ სერვერს გაშვებისას აჩერებს parse error-ით, რომელიც ხაზსა და სვეტს ასახელებს. ზოგი სერვერი კი ნაგულისხმევზე გადადის და შენს ფაილს მათით გადააწერს, რაც ისე გამოიყურება, თითქოს შენი პარამეტრები გაქრა. გაშვებამდე შეამოწმე:
$ python3 -m json.tool ServerHostSettings.json > /dev/null && echo okYAML#
YAML Minecraft-ის plugin-ების სამყაროს ფორმატია - Paper-ის საკუთარი კონფიგები, bukkit.yml, spigot.yml და თითქმის ყველა plugin-ის config.yml. სტრუქტურა დაშორებით (indentation) იქმნება:
chunks: auto-save-interval: default max-auto-save-chunks-per-tick: 24entities: spawning: despawn-ranges: monster: hard: 128 soft: 32რა აფუჭებს მას:
- Tab-ები. YAML დაშორებისთვის tab სიმბოლოებს კრძალავს. ფორუმის პოსტიდან ჩასმული ერთი tab მთელ ფაილს აფუჭებს.
- არათანმიმდევრული დაშორება. ორი სივრცე ერთ ბლოკში და ოთხი მის მეზობელში სტრუქტურას ცვლის.
- ბრჭყალების გარეშე სპეციალური მნიშვნელობები.
yes,no,onდაoffძველმა YAML parser-ებმა შეიძლება boolean-ად წაიკითხონ; ისეთი ვერსია, როგორიცაა1.20, რიცხვად იქცევა. ბრჭყალებში ჩასვი სტრიქონები, რომლებიც სხვა რამეს ჰგავს:version: "1.20". - ორწერტილი და მის შემდეგ სივრცე მნიშვნელობის შიგნით, რაც ახალ mapping-ს იწყებს. მნიშვნელობა ბრჭყალებში ჩასვი.
როცა Paper-ის plugin-ის კონფიგი გაფუჭებულია, plugin ჩვეულებრივ შეცდომას წერს ლოგში და ან ნაგულისხმევს ტვირთავს, ან თავს თიშავს, ზოგი plugin კი შემდეგ ფაილს გადააწერს. რედაქტირებამდე ასლი შეინახე და შეამოწმე:
$ python3 -c 'import sys, yaml; yaml.safe_load(open(sys.argv[1]))' config.yml && echo okამას PyYAML პაკეტი სჭირდება. ონლაინ ვალიდატორებიც მუშაობს, მაგრამ კონფიგი, რომელიც პაროლებს ან მონაცემთა ბაზის მონაცემებს შეიცავს, ვებსაიტზე არ ჩასვა.
XML#
XML ვრცელია და არაფერს პატიობს. ყოველი ელემენტი უნდა დაიხუროს, ატრიბუტები ბრჭყალებში უნდა იყოს, ხოლო მნიშვნელობებში ხუთ სიმბოლოს escape სჭირდება: & როგორც &, < როგორც <, > როგორც >, " როგორც " და ' როგორც '.
<?xml version="1.0"?><ServerSettings> <property name="ServerName" value="Smith & Sons Survival"/> <property name="ServerPort" value="26900"/> <property name="ServerMaxPlayerCount" value="8"/> <!-- <property name="ServerPassword" value=""/> --></ServerSettings>ჩვეულებრივი დამნაშავე ამპერსანდია: სერვერის სახელი, რომელშიც & წერია, 7 Days to Die-ის კონფიგს მაშინვე აფუჭებს. კომენტარები <!-- ... -->-ია და ---ს ვერ შეიცავს. ამ ფაილის ყველა პარამეტრი განხილულია სტატიაში 7 Days to Die-ის სერვერის პარამეტრები.
DayZ-ის types.xml სხვა XML ფაილია, რომელსაც ხალხი მუდმივად არედაქტირებს, და რამდენიმე ათას ხაზში ერთ დაუხურავ tag-ს loot-ის ეკონომიკის გათიშვა შეუძლია. მას აღწერს DayZ types.xml და loot-ის ეკონომიკა. ატვირთვამდე შეამოწმე:
$ xmllint --noout types.xml && echo okორი სახის .cfg#
Source და FiveM: ბრძანებების სია
Source-ის თამაშებში .cfg ფაილი კონსოლის ბრძანებების სკრიპტია, რომელიც თანმიმდევრობით სრულდება, ზუსტად ისე, თითქოს თავად აკრეფდი. // კომენტარს იწყებს. სივრციან მნიშვნელობებს ორმაგი ბრჭყალები სჭირდება.
hostname "My CS2 Server"sv_password ""rcon_password "change-me"sv_cheats 0exec banned_user.cfgრადგან ეს სკრიპტია, თანმიმდევრობას მნიშვნელობა აქვს: მოგვიანებით მოსული ხაზი ადრინდელს გადაფარავს, და server.cfg-ის შემდეგ შესრულებულ თამაშის რეჟიმის კონფიგს შეუძლია შენი პარამეტრები ჩუმად გააუქმოს. არასწორად დაწერილი ბრძანება შეცდომა არ არის; კონსოლი ბეჭდავს Unknown command-ს და აგრძელებს. რედაქტირების შემდეგ გაშვებისას კონსოლი წაიკითხე. თავად cvar-ები მოცემულია სტატიაში CS2-ის სერვერის ბრძანებები და cvar-ები.
FiveM-ის server.cfg იმავე იდეას მიჰყვება - sv_hostname, set, endpoint_add_tcp, ensure ხაზები თანმიმდევრობით სრულდება - ხოლო resource-ების გაშვების რიგს ensure ხაზების რიგი განსაზღვრავს. მას განიხილავს FiveM server.cfg - ახსნა.
DayZ და Arma 3: კლასების სინტაქსი
Bohemia-ს ფორმატი C-ს ჰგავს. მინიჭებები წერტილ-მძიმით მთავრდება, სტრიქონები ორმაგ ბრჭყალებშია, ჩადგმული ბლოკები კი კლასებია:
hostname = "My DayZ Server";password = "";passwordAdmin = "change-me";maxPlayers = 60;class Missions{ class DayZ { template = "dayzOffline.chernarusplus"; };};გამოტოვებული წერტილ-მძიმე ან კლასის შემდეგ გამოტოვებული }; ჩვეულებრივი მიზეზია, რის გამოც DayZ-ის სერვერი გაშვებისას კონფიგის შეცდომით ჩერდება. მასივები ასე იწერება: name[] = {"a", "b"};. DayZ server.cfg - ახსნა ყოველ ხაზს განიხილავს.
Lua და TOML#
Lua-ს ცხრილები
Project Zomboid და Don't Starve Together ზოგიერთ პარამეტრს Lua-ს კოდად ინახავენ, რომელიც ცხრილს აბრუნებს ან ანიჭებს. რადგან ეს კოდია, ის სრულდება, და სინტაქსის შეცდომა ნიშნავს, რომ მთელი ფაილი ვარდება.
return { ["workshop-378160973"] = { enabled = true }, ["workshop-375850593"] = { enabled = true, configuration_options = { difficulty = "hard" }, },}მძიმეები ჩანაწერებს ყოფს, და Lua ბოლო მძიმეს უშვებს, ამიტომ ეს აქ ისეთი პრობლემა არ არის, როგორც JSON-ში. პრობლემაა ჩანაწერებს შორის გამოტოვებული მძიმეები, დაუბალანსებელი ფრჩხილები და ბრჭყალების გარეშე სტრიქონები. -- კომენტარს იწყებს. თუ Lua დაყენებულია, luac -p file.lua სინტაქსს გაშვების გარეშე ამოწმებს. Project Zomboid-ის SandboxVars.lua გასაღებ-გასაღებ განხილულია სტატიაში Project Zomboid-ის სერვერის პარამეტრები.
TOML
TOML INI-ს ჰგავს, მაგრამ ტიპიზებული და უფრო მკაცრია: სტრიქონები ბრჭყალებში უნდა იყოს, რიცხვები და boolean-ები კი - არა, ხოლო ცხრილები [section] ან [section.subsection] სახით იწერება.
[General]Name = "My BeamMP Server"Port = 30814MaxPlayers = 8Private = trueAuthKey = ""Private = "true" სტრიქონია და შეიძლება უარყოფილი იყოს; Name = My Server ბრჭყალების გარეშე სინტაქსის შეცდომაა. TOML-ს იყენებენ BeamMP, Minecraft-ის Velocity proxy და NeoForge-ის მოდების კონფიგები.
კოდირება, რედაქტორები და ცვლილებების აღრიცხვა#
კოდირება და ხაზის დაბოლოებები
ფაილი შეიძლება სინტაქსურად იდეალური იყოს და მაინც ჩავარდეს იმის გამო, თუ როგორ შეინახა.
- კოდირება. გამოიყენე UTF-8. ზოგი Windows-ის რედაქტორი UTF-8-ს byte-order mark-ით ინახავს, ფაილის დასაწყისში სამი უხილავი ბაიტით, და რამდენიმე parser მასზე ჩერდება - შეცდომა მაშინ ხაზ 1-ზე, სვეტ 1-ზე მიუთითებს, სადაც არაფერი ჩანს არასწორი.
- ხაზის დაბოლოებები. Windows ხაზებს
\r\n-ით ამთავრებს, Linux\n-ს იყენებს. თამაშების parser-ების უმეტესობა ორივეს იღებს; shell სკრიპტები - არა. - "ჭკვიანი" ბრჭყალები. ვებგვერდიდან ან ტექსტურ პროცესორიდან პარამეტრების კოპირებამ
"შეიძლება მრუდე ბრჭყალებად აქციოს, რომლებსაც არცერთი parser არ იღებს. - გამოიყენე ნამდვილი რედაქტორი. პანელის ფაილების მენეჯერის რედაქტორი, VS Code ან Notepad++ ფორმატის სინტაქსის გამოკვეთით. გამოკვეთა დაუხურავ სტრიქონს ან ფრჩხილს სერვერზე ადრე გაჩვენებს.
RE:NODE-ზე ფაილების მენეჯერი კონფიგებს ბრაუზერის რედაქტორში ხსნის სინტაქსის გამოკვეთით, ხოლო უფრო დიდი ცვლილებები შეგიძლია SFTP-ით და შენთვის სასურველი რედაქტორით გააკეთო - დაკავშირების დეტალები მოცემულია სტატიაში SFTP და ფაილების მენეჯერი.
ცვლილებების აღრიცხვა
ნებისმიერ სერვერზე ყველაზე იაფი დაზღვევა იმის ცოდნაა, რა შეცვალე. კონფიგები ნელ-ნელა იცვლება: ლაგის პრობლემისას ნაცადი და არასდროს დაბრუნებული პარამეტრი, მნიშვნელობა, რომელიც მოდერატორმა შუაღამისას შეცვალა, plugin-ის განახლება, რომელმაც საკუთარი ფაილი ახალი ნაგულისხმევით გადაწერა. სამი თვის შემდეგ არავინ იცის, რატომ იქცევა სერვერი ისე, როგორც იქცევა.
რამდენიმე ჩვევა ამას აცილებს, და არცერთს განსაკუთრებული ხელსაწყოები არ სჭირდება:
- რედაქტირებამდე დააკოპირე.
server.cfgშეინახე როგორცserver.cfg.2026-10-07, სანამ შეეხები. დისკი იაფია, ხოლო ფაილის გვერდით არსებული ასლი ყველაზე სწრაფი უკან დაბრუნებაა. - ერთ ჯერზე ერთი რამ შეცვალე. თუ ხუთ მნიშვნელობას შეცვლი და სერვერი უცნაურად იქცევა, ხუთი ეჭვმიტანილი გყავს. ერთი ცვლილება, ერთი restart, ერთი დაკვირვება.
- ჩაიწერე, რატომ. კომენტარი ფაილში, სადაც ფორმატი ამას უშვებს, ან თარიღიანი შენიშვნების მოკლე ტექსტური ფაილი, სადაც არ უშვებს: "2026-10-07: view-distance 10-დან 8-მდე, TPS პიკზე ეცემა". მიზეზი სწორედ ისაა, რაც დაგავიწყდება.
- შეადარე, როცა რამე მოულოდნელად იცვლება. ჩამოტვირთე მიმდინარე ფაილი და ბოლო ცნობილი კარგი ასლი და შეადარე. shell-იან მანქანაზე
diff -u old.yml new.ymlზუსტად აჩვენებს, რომელი ხაზები შეიცვალა, რაც კითხვას "შეცვალა თუ არა განახლებამ ჩემი კონფიგი" წამებში წყვეტს. - კონფიგები backup-ებში შეინახე. პანელის backup-ები მათ სამყაროსთან ერთად შეიცავს. თუ კონფიგის საქაღალდეს დამატებით პირად Git რეპოზიტორიაშიც ინახავ, ყოველი ცვლილების სრულ ისტორიას უფასოდ იღებ, მაგრამ პაროლებიანი ან token-იანი ფაილები არასდროს დაა-commit-ო საზიარო ადგილას.
plugin-ებისა და მოდების განახლებები განსაკუთრებულ ეჭვს იმსახურებს. Minecraft-ის ბევრი plugin განახლებისას თავის config.yml-ს გადაიტანს, ამატებს ახალ გასაღებებს და ხანდახან ძველებს არქმევს ან შლის. უმეტესობა ამას ფრთხილად აკეთებს და შენს მნიშვნელობებს ინახავს. ზოგი ფაილს თავიდან ქმნის და შენს ძველს config.yml.old-ად ინახავს, რასაც მხოლოდ მაშინ იპოვი, თუ მოძებნი. ნებისმიერი განახლების შემდეგ კონფიგი შენს ასლს შეადარე, სანამ ჩათვლი, რომ plugin ისე იქცევა, როგორც ადრე.
როცა შენი ცვლილება არ ჭრის#
თუ პარამეტრი თავდაპირველზე ბრუნდება ან ეფექტი არ აქვს, მიზეზი თითქმის ყოველთვის ერთ-ერთი ამათგანია, ამ თანმიმდევრობით:
- სერვერმა ფაილი თავიდან დაწერა. Unreal-ის თამაშები, Minecraft და ბევრი plugin თავიანთ კონფიგებს გაშვებისას ან გაჩერებისას წერს. გააჩერე სერვერი, დაარედაქტირე, გაუშვი.
- გასაღები პანელს ეკუთვნის. Pterodactyl-ის egg-ს შეუძლია კონკრეტული გასაღებები ყოველ გაშვებაზე გადაწეროს - პორტები, IP, ზოგჯერ მოთამაშეების მაქსიმუმი - Startup და Network ჩანართებიდან. ეს მნიშვნელობები იქ შეცვალე და არა ფაილში. როგორ მუშაობს ეს, ხსნის სტატია Pterodactyl-ის egg-ები თამაშის სერვერებისთვის.
- გაშვების არგუმენტი ფაილს გადაფარავს. ბევრ თამაშში ბრძანების ხაზის flag-ები კონფიგის მნიშვნელობებზე მაღლა დგას.
-portგაშვების ხაზზე JSON-ში მითითებულPort-ს ჯობნის. - არასწორი ფაილი ან არასწორი საქაღალდე. Unreal-ის თამაშებს ნაგულისხმევი და შენახული კონფიგები სხვადასხვა ადგილას აქვს; მხოლოდ ერთი იკითხება. Minecraft-ს გლობალური პარამეტრების სამყაროს სპეციფიკური გადაფარვები აქვს.
- სინტაქსის შეცდომა ჩუმი გადასვლით ნაგულისხმევზე. სერვერმა ფაილის წაკითხვა ვერ მოახერხა და ნაგულისხმევი გამოიყენა. ლოგის თავში parse-ის გაფრთხილება მოძებნე.
FAQ#
შემიძლია JSON კონფიგ ფაილში კომენტარები დავამატო?
არა. სტანდარტულ JSON-ს კომენტარის სინტაქსი არ აქვს და თამაშის სერვერების უმეტესობა მკაცრ parser-ს იყენებს. შენიშვნები ცალკე ტექსტურ ფაილში შეინახე, ან გამოიყენე გასაღები, რომელსაც თამაში იგნორირებს, როგორც Factorio აკეთებს თავისი _comment გასაღებებით.
რატომ დააბრუნა ჩემმა სერვერმა კონფიგი ნაგულისხმევზე რედაქტირების შემდეგ?
ფაილის წაკითხვა ვერ მოხერხდა და სერვერი ნაგულისხმევზე გადავიდა, ხშირად მათ შენს ფაილზე გადაწერით. შეამოწმე სინტაქსი, აღადგინე შენი ასლი და ლოგის თავში parse-ის შეცდომა მოძებნე.
აქვს მნიშვნელობა, tab-ებს გამოვიყენებ თუ სივრცეებს?
YAML-ში, კი - tab-ები დაშორებისთვის არასწორია. INI-ში, JSON-ში, XML-ში, TOML-სა და Lua-ში დაშორება მხოლოდ ვიზუალურია. Bohemia-ს .cfg ფაილებშიც ვიზუალურია, მაგრამ წერტილ-მძიმეები - არა.
უნდა დავარედაქტირო კონფიგები სერვერის მუშაობისას?
მხოლოდ მაშინ, თუ თამაში ამ ფაილს ბრძანებით თავიდან ტვირთავს, და ასეთი ცოტაა. ბევრი სერვერი გაჩერებისას თავის კონფიგს წერს და შენს ცვლილებებს გადააწერს. გაჩერება, რედაქტირება, გაშვება - ეს უსაფრთხო თანმიმდევრობაა ყველა თამაშისთვის.
რა არის Unreal Engine-ის გრძელი პარამეტრების ხაზის შეცვლის ყველაზე უსაფრთხო გზა?
მომუშავე ხაზი backup-ში დააკოპირე, ერთი მნიშვნელობა შეცვალე, მძიმეები და ბრჭყალები ხელუხლებლად დატოვე და სერვერი გაუშვი. თუ პარამეტრი არ მოქმედებს, ხაზის თავიდან აკრეფის ნაცვლად შეადარე ნაგულისხმევ ფაილს, რომელიც თამაშს მოყვება.




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