Oxide, რომელიც uMod-ის მეშვეობით ვრცელდება, Rust-ის სერვერების დიდი ხნის plugin-ების framework-ია. მას აყენებ Oxide.Rust-ის გამოშვების სერვერის ინსტალაციის დირექტორიაზე გადაშლით, გადატვირთავ, და სერვერს oxide/ საქაღალდე უჩნდება. plugin-ები ცალკეული .cs ფაილებია, რომლებსაც oxide/plugins-ში აგდებ; Oxide მათ იქვე აკომპილირებს და ტვირთავს, მათ პარამეტრებს oxide/config-ში წერს და იმას, რისი გამოყენებაც მოთამაშეებს შეუძლიათ, oxide.grant-ზე დაფუძნებული უფლებების სისტემით აკონტროლებს. ხაფანგი Rust-ის ყოველთვიური განახლებაა, რომელიც Oxide-ს ყოველ ჯერზე ფუჭებს, სანამ ახალი build არ გამოვა. ეს სტატია განიხილავს მის ინსტალაციას, plugin-ების სწორად გაშვებას, უფლებების მოდელს და იმას, როგორ შეინარჩუნო მთელი სისტემა ცოცხალი განახლებებით სავსე წლის განმავლობაში.
რას უკეთებს სინამდვილეში Oxide შენს სერვერს#
Rust-ს ოფიციალური plugin API არ აქვს. Oxide თამაშის managed assembly-ებს RustDedicated_Data/Managed-ში ასწორებს ისე, რომ თამაში Oxide-ს ასობით წერტილში იძახებს - მოთამაშის მიერთებისას, entity-ის დაზიანებისას, რესურსის მოპოვებისას, ნივთის დამზადებისას. თითოეული ასეთი წერტილი hook-ია. plugin არის C# კლასი, რომელიც მისთვის საინტერესო hook-ებს ახორციელებს და აბრუნებს მნიშვნელობებს, რომლებსაც შეუძლიათ შეცვალონ, რა მოხდება შემდეგ.
აქედან სამი შედეგი გამომდინარეობს და ისინი ხსნის იმ პრობლემების უმეტესობას, რასაც ხალხი აწყდება:
- Oxide თამაშის ზუსტ build-ზეა მიბმული. როცა Facepunch განახლებას უშვებს, assembly-ები იცვლება, შესწორებულებს SteamCMD გადააწერს და Oxide ქრება, სანამ ახალი ვერსიისთვის შექმნილ build-ს თავიდან არ დააყენებ.
- plugin-ები შენს სერვერზე კომპილირდება. Oxide კომპილატორის პროცესს მოიცავს. plugin, რომელიც თამაშის ისეთ მეთოდს მიმართავს, რომელსაც Facepunch-მა სახელი შეუცვალა, ვერ კომპილირდება, შეცდომას ბეჭდავს და ჩაუტვირთავი რჩება, დანარჩენები კი აგრძელებენ მუშაობას.
- შენი სერვერი modded ხდება. ნაგულისხმევად Oxide-იანი სერვერი თავს modded-ად აცხადებს, რაც მას სიაში Modded ჩანართზე გადაიტანს. ეს სწორია ყველაფრისთვის, რაც გეიმპლეის ცვლის, და აღწერილია სტატიაში gather rate-ები და kit-ები modded სერვერზე.
Oxide ერთადერთი ვარიანტი არ არის. Carbon უფრო ახალი framework-ია, რომელიც Oxide-ის plugin-ების უმეტესობას თამაშის ფაილების შესწორების გარეშე ტვირთავს, და არჩევანის გაკეთებამდე მის შესახებ წაკითხვა ღირს. ქვემოთ აღწერილი plugin-ების ეკოსისტემა ორივეზე მუშაობს.
Oxide-ის ინსტალაცია#
- სერვერი სუფთად გააჩერე კონსოლში
quit-ით, რომ სამყარო შეინახოს. - ჯერ Rust განაახლე. გაუშვი SteamCMD
validate-ით. თუ Oxide-ს მოძველებულ სერვერზე დააყენებ და მერე განაახლებ, განახლება Oxide-ს მაშინვე გადააწერს. - ჩამოტვირთე შესაბამისი Oxide.Rust build umod.org-ის Rust-ის გვერდიდან. Windows-ისა და Linux-ისთვის ცალკე არქივებია; აიღე ის, რომელიც სერვერის ოპერაციული სისტემისთვისაა და არა იმ კომპიუტერისთვის, რომელთანაც ზიხარ.
- გადაშალე ის სერვერის ძირზე, ისე, რომ მისი
RustDedicated_Dataსაქაღალდე არსებულს შეერწყას და მოთხოვნისას ფაილები გადაეწეროს. - გაუშვი სერვერი და უყურე კონსოლს. Oxide გაშვებისას თავს აცხადებს და პირველივე გაშვებაზე
oxide/დირექტორიას ქმნის. - დაადასტურე კონსოლში
oxide.version-ით. თუ ბრძანება უცნობია, Oxide არ ჩაიტვირთა.
პანელზე მე-4 ნაბიჯი ყველაზე მარტივად ფაილების მენეჯერით კეთდება: ატვირთე zip სერვერის ძირში და იქვე გახსენი. პანელის ზოგიერთ egg-ს Startup ჩანართზე framework-ის გადამრთველი აქვს, რომელიც Oxide-ს ყოველ გაშვებაზე ჩამოტვირთავს; თუ შენსას აქვს, ის გამოიყენე და ხელით ინსტალაციას ნუ შეურევ.
oxide საქაღალდე, ფაილი ფაილად#
| გზა | რა ცხოვრობს იქ |
|---|---|
oxide/plugins/ | plugin-ების წყარო ფაილები, PluginName.cs |
oxide/config/ | თითო JSON ფაილი თითო plugin-ზე, იქმნება პირველი ჩატვირთვისას |
oxide/data/ | plugin-ების მონაცემები პლუს Oxide-ის საკუთარი მომხმარებლები, ჯგუფები და უფლებები |
oxide/lang/ | შეტყობინებების ფაილები ენების მიხედვით, მაგ. lang/en/Kits.json |
oxide/logs/ | Oxide-ის საკუთარი ლოგები და plugin-ების ლოგები, თარიღებით |
oxide/oxide.config.json | framework-ის პარამეტრები, მათ შორის modded დროშა |
config-სა და data-ს შორის განსხვავება ამ ცხრილში ყველაფერზე მნიშვნელოვანია. config ის არის, რაც შენ აირჩიე: rate-ები, cooldown-ები, ფასები. data ის არის, რაც მოთამაშეებმა გააკეთეს: kit-ების მიღების დრო, კლანების წევრობა, სახლების მდებარეობა, ეკონომიკის ბალანსები. wipe-ის დღეს data-ს წაშლა მოთამაშეების მდგომარეობას აბრუნებს თავიდან; config-ის წაშლა შენს პარამეტრებს. ხალხი რეგულარულად არასწორს შლის.
უფლებებიც oxide/data-ში ინახება, Oxide-ის საკუთარ მონაცემთა ფაილებში. ისინი რუკისა და blueprint-ების wipe-ს გადაურჩებიან, თუ თავად არ წაშლი, რაც თითქმის ყოველთვის ზუსტად ისაა, რაც გინდა.
plugin-ების ინსტალაცია და მართვა#
ჩააგდე .cs ფაილი oxide/plugins-ში და Oxide შეამჩნევს. ნაგულისხმევად plugin-ების დამკვირვებელი ახალ ფაილებს ავტომატურად აკომპილირებს და ტვირთავს, plugin-ს კი ფაილის შეცვლისას თავიდან ტვირთავს, ასე რომ plugin-ის განახლება ფაილის ჩანაცვლებაა. კონსოლი ბეჭდავს ან "Loaded plugin" ხაზს სახელითა და ვერსიით, ან კომპილაციის შეცდომას ხაზის ნომრით.
oxide.plugins list loaded plugins with versionsoxide.load Kits load one plugin (file name without .cs)oxide.unload Kits unload itoxide.reload Kits unload and load again, rereading configoxide.reload * reload every pluginoxide.version framework versionთითოეულ ბრძანებას მოკლე ფორმაც აქვს, სადაც oxide.-ის ნაცვლად o. წერია - o.reload Kits იგივეა, რაც გრძელი ვარიანტი.
რამდენიმე ჩვევა ყველაფერს წესრიგში ინახავს:
- წაიკითხე დამოკიდებულებები. ბევრ plugin-ს ჯერ ბიბლიოთეკის plugin სჭირდება. გავრცელებულია ImageLibrary UI სურათებისთვის და Economics ყველაფრისთვის, სადაც ფასებია. plugin-ის გვერდზე ეს წერია; კონსოლის შეცდომაში ყოველთვის არა.
- ერთი plugin ერთ საქმეზე. ორი teleport plugin, ორი ჩატის ფორმატერი ან stack-ის ზომის ორი კონტროლერი ერთსა და იმავე hook-ზე იჩხუბებს, შედეგი კი ჩატვირთვის თანმიმდევრობაზე იქნება დამოკიდებული.
- ძველი ფაილი შეინახე. plugin-ის ჩანაცვლებამდე მომუშავე ვერსია
oxide/plugins-ის გარეთ სადმე დააკოპირე. გაფუჭებული plugin-ის განახლება ყველაზე სწრაფად ძველის დაბრუნებით სწორდება. - სატესტო plugin-ები საქაღალდეში არასოდეს დატოვო. ყოველი ჩატვირთული plugin hook-ის დროს ხარჯავს ყოველ მოვლენაზე, რომელსაც გამოწერილია.
კონფიგები და ენის ფაილები
პირველი ჩატვირთვისას plugin-ების უმეტესობა ნაგულისხმევ კონფიგს oxide/config/PluginName.json-ში წერს. შეცვალე, შეინახე და გაუშვი oxide.reload PluginName - ცვლილება plugin-ის თავიდან ჩატვირთვამდე არ მოქმედებს.
{ "Cooldown (seconds)": 600, "Max uses per wipe": 3, "Enabled for default group": true, "Allowed items": ["rifle.ak", "ammo.rifle"]}JSON შეცდომებს არ პატიობს. ზედმეტი მძიმე ბოლოში, გამოტოვებული ბრჭყალი ან შემთხვევითი კომენტარი plugin-ის ჩატვირთვას აჩერებს, ზოგიერთი plugin კი წაუკითხავ კონფიგზე იმით პასუხობს, რომ შენს ფაილს ახალ ნაგულისხმევ მნიშვნელობებს გადააწერს. დიდი ცვლილება reload-მდე შეამოწმე და შეინახე ასლი ყოველი კონფიგისა, რომელზეც დრო დახარჯე. კონფიგებში ნივთების სახელები Rust-ის shortname-ებია (rifle.ak, stones, metal.fragments) და არა ეკრანზე ნაჩვენები სახელები.
ენის ფაილები oxide/lang/<code>/-ში შეიცავს ყველა შეტყობინებას, რასაც plugin ბეჭდავს. შეგიძლია თავისუფლად გადაწერო ისინი სერვერის ტონზე ან თარგმნო; მოთამაშე ხედავს იმ ენას, რომელსაც მისი კლიენტი აცხადებს, თუ მისთვის ფაილი არსებობს, თორემ ინგლისურს.
უფლებები: ჯგუფები, grant-ები და admin ჯგუფი#
Oxide-ის უფლებების სისტემა Rust-ის საკუთარი owner და moderator დონეებისგან დამოუკიდებელია. plugin არეგისტრირებს უფლების სტრიქონებს, როგორიცაა kits.use ან removertool.normal, და plugin-ში არაფერი იმუშავებს იმ მოთამაშისთვის, რომელსაც სწორი უფლება არ მიუღია, პირდაპირ ან ჯგუფის მეშვეობით.
ორი ნაგულისხმევი ჯგუფია. ყველა მოთამაშე default-შია. owner-ის უფლებების მქონე მოთამაშეები admin-ში ხვდებიან. შეგიძლია მეტიც შექმნა.
oxide.grant group default kits.useoxide.grant group admin removertool.adminoxide.grant user 76561198012345678 vanish.allowoxide.revoke group default kits.useoxide.group add vip "VIP" 10oxide.group parent vip defaultoxide.usergroup add 76561198012345678 vipoxide.usergroup remove 76561198012345678 vipoxide.show groupsoxide.show group vipoxide.show user 76561198012345678oxide.show perm kits.use| ბრძანება | რას აკეთებს |
|---|---|
oxide.grant group <g> <perm> | აძლევს უფლებას ჯგუფის ყველა წევრს |
oxide.grant user <id> <perm> | აძლევს მას ერთ მოთამაშეს |
oxide.group add <g> [title] [rank] | ქმნის ჯგუფს |
oxide.group parent <g> <parent> | მემკვიდრეობით იღებს მშობლის უფლებებს |
oxide.usergroup add <id> <g> | ამატებს მოთამაშეს ჯგუფში |
oxide.show user <id> | რა აქვს მოთამაშეს და რატომ |
ყველაფერში, რასაც სკრიპტად წერ ან ადოკუმენტირებ, სახელების ნაცვლად SteamID64-ები გამოიყენე. სახელები იცვლება და შეიცავს სიმბოლოებს, რომლებიც ბრძანებებს ფუჭებს; ID-ები არა. მემკვიდრეობა გზაა, რომ ერთი და იგივე ოცი უფლება სამჯერ არ გასცე: vip default-ს იღებს მემკვიდრეობით, moderator - vip-ს, და ყოველი grant ერთხელ კეთდება იმ ყველაზე დაბალ დონეზე, რომელსაც ის უნდა ჰქონდეს.
შეინახე უფლებები სკრიპტად
წლის განმავლობაში თითო ბრძანებით აწყობილი უფლებები ისეთ რამედ იქცევა, რის აღწერასაც ვერავინ ახერხებს. გამოსავალია ყოველი grant ჩვეულებრივ ტექსტურ ფაილში შეინახო - ერთი ბრძანება ერთ ხაზზე, ჯგუფების მიხედვით დალაგებული - და ეს ფაილი სიმართლის წყაროდ ჩათვალო. როცა plugin-ს ამატებ, მისი grant-ები ფაილს დაუმატე და გაუშვი. როცა მოდერატორი გეკითხება, რატომ შეუძლიათ VIP-ებს რომელიმე ბრძანების გამოყენება, ფაილი პასუხობს.
ფაილი თავს სამი გზით იმართლებს. შეცდომის ან დაზიანებული მონაცემთა ფაილის შემდეგ უფლებებს ნულიდან ერთ წუთში აღადგენ. Carbon-ზე გადასვლა შეგიძლია oxide.-ის c.-ით შეცვლითა და ჩასმით. და შეგიძლია გადახედო, რაც ერთადერთი გზაა იმის შესამჩნევად, რომ თვრამეტი თვის წინ ვიღაცამ plugin-ის ტესტირებისას default-ს ადმინის უფლება მისცა.
ჯგუფისთვის *-ის მინიჭება ყველაფერს აძლევს, ხოლო ისეთი wildcard, როგორიცაა kits.*, plugin-ის მიერ დარეგისტრირებულ ყველა უფლებას გასცემს. ორივე მოსახერხებელია და ორივე ისაა, როგორ ეუფლება მოდერატორი შემთხვევით plugin-ის ადმინის ძალაუფლებას. admin ჯგუფს ფართოდ მიეცი, თუ აუცილებელია, ყველა დანარჩენს კი ცხადად. იგივე არგუმენტი პანელზე წვდომისთვის მოყვანილია სტატიაში subuser-ები და მინიმალური პრივილეგია.
როგორ ავირჩიოთ გასაშვებად ღირებული plugin-ები#
uMod უფასო კატალოგს მასპინძლობს და მისი განხილვის წესების წყალობით იქაური plugin-ები წაკითხვადი წყარო კოდია. Codefling და Lone.Design ბევრ ფასიან plugin-ს მასპინძლობენ. რადგან plugin შენს სერვერზე კომპილირებული წყარო კოდია, მას შეუძლია ყველაფერი, რაც სერვერს - ფაილების წაკითხვა, ვებ-მოთხოვნების გაგზავნა, უფლებების მინიჭება - ამიტომ plugin-ები ავტორის ნამდვილი გვერდიდან აიღე და წაიკითხე ყველაფერი, რაც ზედმეტად გულუხვად გამოიყურება. ფასიანი plugin-ების გაჟონილი ასლები backdoor-იანი სერვერების ცნობილი გზაა.
| საჭიროება | ხშირად გამოყენებული plugin-ები |
|---|---|
| საკუთარი ნაგებობების მოშლა | RemoverTool |
| ტელეპორტები და სახლები | NTeleportation |
| kit-ები | Kits |
| rate-ები და stack-ები | GatherManager, StackSizeController |
| კლანები და გუნდები | Clans |
| ჩატის ფორმატირება | BetterChat |
| ადმინის ხილვადობა | Vanish, AdminRadar |
| დამატებითი საცავი | Backpacks |
| PvE წესები | TruePVE |
ფასიანი plugin-ები ავტომატურად უკეთესი არ არის. ზოგი შესანიშნავია და აქტიურად ვითარდება; სხვები უფასო plugin-ის იდეაა დამატებული UI-ით. ფასით ჩვეულებრივ ყიდულობ მხარდაჭერასა და განახლებებს ყოველთვიური პატჩის შემდეგ, ამიტომ ფასიანი plugin შეაფასე იმით, რამდენად სწრაფად გამოუშვა ავტორმა გასწორებები ბოლო რამდენიმე განახლების შემდეგ, რასაც მისი changelog აჩვენებს. plugin, რომელზეც შენი სერვერის იდენტობაა დამოკიდებული - საკუთარი ეკონომიკა, რეიდების სისტემა - იმსახურებს ავტორს, რომელიც ჯერ კიდევ აქ არის.
სახელები და შემნახველები დროთა განმავლობაში იცვლება; plugin-ის გვერდზე შეამოწმე მიმდინარე ვერსია და ის, მუშაობს თუ არა ის ჯერ კიდევ Rust-ის ბოლო ვერსიაზე. plugin, რომელიც წელიწადია არ განახლებულა, ჩვეულებრივ უკვე ჩანაცვლებულია.
მოკლე plugin-ების სიის ზოგად დისციპლინას განიხილავს სტატია როგორ შევინარჩუნოთ modded სერვერი სუფთად, აღდგენის რუტინა კი აღწერილია სტატიაში რა ვქნათ, როცა მოდის განახლება ფუჭდება.
ყოველთვიური განახლება და Oxide#
თვის პირველ ხუთშაბათს Rust-ის განახლება შესწორებულ assembly-ებს გადააწერს. შენი სერვერი ირთვება, ვანილად მუშაობს და ყოველი plugin ჩუმად ქრება: არც უფლებები მოქმედებს, არც kit-ები, არც დამცავი plugin-ები, მოთამაშეები კი ამას წუთებში აღმოაჩენენ. გამოსავალი პროცედურულია:
- გააჩერე სერვერი და განაახლე Rust
validate-ით. - დაელოდე, სანამ uMod ახალი ვერსიისთვის Oxide-ის build-ს გამოაქვეყნებს. ჩვეულებრივ ეს საათებია და არა დღეები.
- დააყენე, გაუშვი და კონსოლში მოძებნე plugin-ები, რომლებიც ვერ კომპილირდება.
- განაახლე ან ჩამოტვირთე გაფუჭებული plugin-ები სერვერის გახსნამდე.
თუ შენი სერვერი Rust-ს გაშვებისას ავტომატურად ანახლებს, wipe-ის დღეს ეს გამორთე, თორემ სერვერი დაუცველად ჩაირთვება, სანამ Oxide მზად იქნება. ცალკე დაყენებული staging branch გაძლევს საშუალებას, plugin-ები შემდეგი თვის build-ზე ერთი კვირით ადრე შეამოწმო. ამას კალენდარში ალაგებს სტატია ყოველთვიური ფორსირებული wipe-ის განრიგი.
შენიშვნები პანელზე და წარმადობა#
oxide.plugins თითოეულ plugin-ს გვერდით დროის მაჩვენებლით აჩვენებს - იმ დროს, რაც ამ plugin-ის hook-ებში დაიხარჯა. როცა სერვერის frame rate ეცემა, პირველ რიგში ეს სია გადახედე; entity-ების spawn-ზე ან დაზიანებაზე მიბმული ერთი ცუდად დაწერილი plugin უფრო ძვირი ჯდება, ვიდრე დანარჩენები ერთად. დიაგნოსტიკის დანარჩენ ნაწილს განიხილავს სტატია სერვერის წარმადობა და entity-ების რაოდენობა.
RE:NODE-ზე და ზოგადად Pterodactyl პანელებზე plugin-ებს თავად ტვირთავ ფაილების მენეჯერით ან SFTP-ით - დაშვებული მოდების თეთრი სია და ერთი დაწკაპუნებით plugin-ების ინსტალატორი არ არსებობს. ფაილების მენეჯერი JSON-ს სინტაქსის გამოკვეთით არედაქტირებს, რაც გამოტოვებულ მძიმეს Oxide-ზე ადრე იჭერს, ხოლო თითო სერვერის SFTP მონაცემები ნიშნავს, რომ დეველოპერს ფაილებზე წვდომის მიცემა შეგიძლია პანელის პაროლის გარეშე. ორივეს განიხილავს სტატია SFTP და ფაილების მენეჯერი.
პრობლემების მოგვარება#
"Unknown command: oxide.version". Oxide ჩატვირთული არ არის. ან არასოდეს დაყენებულა, ან განახლებამ გადააწერა, ან Linux-ზე Windows-ის build დააყენე.
plugin განახლების შემდეგ კომპილაციის შეცდომით ფუჭდება. ის თამაშის შეცვლილ კოდს მიმართავს. განაახლე plugin; თუ განახლება ჯერ არ არსებობს, ჩამოტვირთე და დაელოდე.
plugin იტვირთება, მაგრამ მოთამაშეებისთვის არაფერს აკეთებს. უფლებები. გაუშვი oxide.show perm <permission>, რომ ნახო, ვის აქვს, და მიეცი default-ს, თუ ყველას უნდა ჰქონდეს.
კონფიგის ცვლილებები იგნორირდება. plugin თავიდან არ ჩატვირთულა, ან ფაილი გადაწერა, რადგან JSON არასწორი იყო. მოძებნე კონსოლში კონფიგის შეცდომა, გაასწორე ფაილი, გააკეთე reload.
ადმინებს ადმინის უფლებები არ აქვთ. ისინი admin ჯგუფში არ არიან. მხოლოდ owner-ის უფლებები Oxide-ის უფლებებს არ გასცემს; დაამატე ისინი oxide.usergroup add-ით.
wipe-ის შემდეგ ყველაფერი განულდა. ვიღაცამ მთელი oxide/data საქაღალდე წაშალა. აღადგინე Oxide-ის საკუთარი უფლებების ფაილები wipe-მდე გაკეთებული backup-იდან და გადაწყვიტე, plugin-ების რომელი მონაცემების შენარჩუნება გინდოდა.
FAQ#
uMod და Oxide ერთი და იგივეა?
ფაქტობრივად, კი. Oxide framework-ია; uMod არის პროექტი და ვებსაიტი, რომელიც მას ავრცელებს და plugin-ების კატალოგს მასპინძლობს. Rust-ის სერვერები აყენებენ build-ს, რომელსაც Oxide.Rust ჰქვია.
სჭირდებათ მოთამაშეებს რამის დაყენება Oxide-იან სერვერზე შესასვლელად?
არა. Oxide მთლიანად სერვერზე მუშაობს. საკუთარი სურათებისა თუ UI-ის მქონე plugin-ები მათ კლიენტს ჩვეულებრივი თამაშის ნაწილად უგზავნიან.
შემიძლია Oxide-ის plugin-ების გამოყენება Carbon-ზე?
მათი უმეტესობის. Carbon შექმნილია Oxide-ის plugin-ების უცვლელად ჩასატვირთად და დიდი უმრავლესობა მუშაობს. რამდენიმეს, რომლებიც Oxide-ის შიდა ნაწილებზეა დამოკიდებული, განახლება ან ჩანაცვლება სჭირდება.
უფლებები wipe-ს გადაურჩება?
კი, თუ Oxide-ის მონაცემთა ფაილებს არ წაშლი. ისინი oxide/data-ში ინახება, იმ რუკის, save-ისა და blueprint ფაილებისგან ცალკე, რომლებსაც wipe შლის.
რატომ ჩანს ჩემი სერვერი modded-ად Oxide-ის დაყენების შემდეგ?
Oxide სერვერს ნაგულისხმევად modded-ად აცხადებს, რადგან მასზე მომუშავე სერვერების უმეტესობა გეიმპლეის ცვლის. პარამეტრი oxide.config.json-შია; გამორთე მხოლოდ მაშინ, თუ შენი plugin-ები გეიმპლეის ნამდვილად ვანილად ტოვებს.




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