server.cfg არის ერთადერთი კონფიგურაცია, რომელიც FXServer-ს აქვს. ის ადგენს პორტებს, მოთამაშეთა ზღვარს, ლიცენზიის გასაღებს, სახელს სერვერების სიაში, რომელი resource-ები იწყება და რა თანმიმდევრობით, და ვის შეუძლია რომელი ბრძანების აკრეფა. ის იკითხება ერთხელ, ზემოდან ქვემოთ, სერვერის გაშვებისას - ამიტომ თანმიმდევრობას მნიშვნელობა აქვს, დაუხურავი ბრჭყალი ჩუმად ჭამს ყველაფერს მის შემდეგ, ხოლო convar, რომელსაც resource გაშვებისას კითხულობს, არ შეიცვლება, სანამ ეს resource არ გადაიტვირთება. ეს პოსტი გადის ფაილს ისე, როგორც სერვერი.
სად არის ფაილი და როგორ იკითხება ის#
FXServer გაიშვება ფაილით, რომელიც მისი ბრძანების ხაზზეა დასახელებული:
$ ./run.sh +exec server.cfgფაილში ყველაფერი კონსოლის ბრძანებაა. არც განსაკუთრებული სინტაქსია, არც სექციები, არც გამოყოფის წესები: ყოველი ხაზი სრულდება ზუსტად ისე, თითქოს სერვერის კონსოლში აკრიფე. # იწყებს კომენტარს. მნიშვნელობებს, რომლებიც ინტერვალს შეიცავს, ორმაგი ბრჭყალები სჭირდება, და დაუხურავი ბრჭყალი პარსერს ხაზის დანარჩენი ნაწილის შთანთქმას აიძულებს, სწორედ ამიტომ შეიძლება სრულიად სწორად გამოყურებადი ფაილი შეცდომით ჩავარდეს, რომელიც ორმოცი რიგით ქვემოთ ხაზზე მიუთითებს.
ჩადგმა მხარდაჭერილია და ღირს გამოყენება. exec permissions.cfg server.cfg-ის ბოლოში მეორე ფაილს ამატებს, რაც გონივრული ადგილია ადმინ იდენტიფიკატორების სიის შესანახად, რომ დახმარების თხოვნისას server.cfg გააზიარო და ადმინების სია არ გასცე.
თუ txAdmin-ს იყენებ, ის სერვერის მონაცემებს თავის საქაღალდეში ინახავს და server.cfg-ს თავისი CFG Editor გვერდით ცვლის. იმავე ფაილის ფაილ მენეჯერში რედაქტირება, სანამ txAdmin მას ღიად ინახავს, ნიშნავს, რომ ორი ასლიდან ერთი იმარჯვებს. აირჩიე ერთი ადგილი და იქ დარჩი.
ხაზები, რომლებიც ყველა სერვერს სჭირდება#
ეს არის ნაგულისხმევი შაბლონი, დაჭრილი იმ ნაწილებამდე, რომლებიც არჩევითი არ არის, მნიშვნელობებით, რომლებსაც რეალურად დააყენებდი:
endpoint_add_tcp "0.0.0.0:30120"endpoint_add_udp "0.0.0.0:30120"sv_hostname "^2Northside RP ^7| ^3Whitelisted ^7| ^1ESX"sv_maxclients 48sv_licenseKey "cfxk_xxxxxxxxxxxxxxxxxxxxx_xxxxxx"sv_scriptHookAllowed 0sv_endpointprivacy truesets locale "en-GB"sets tags "roleplay, esx, whitelist, europe"load_server_icon logo.pngset mysql_connection_string "mysql://user:pass@host/db?charset=utf8mb4"ensure oxmysqlensure ox_libensure es_extendedexec permissions.cfgendpoint_add_tcp და endpoint_add_udp ორივე ერთსა და იმავე პორტის ნომერზე მიუთითებს და ორივე საჭიროა. UDP მხარე თამაშის ტრაფიკს ატარებს. TCP მხარე HTTP სერვერია: ის კლიენტებს პირველი შესვლისას resource ფაილებს აძლევს და პასუხობს /info.json-ს, /players.json-ს და /dynamic.json-ს, რითიც არსებული ყველა სერვერის ტრეკერი შენი მოთამაშეების რაოდენობას იგებს. სერვერი, სადაც მხოლოდ TCP არის ხელმისაწვდომი, ჩატვირთვის ეკრანზე ვერ გადის; სერვერი, სადაც მხოლოდ UDP - resource-ების ჩამოტვირთვას ვერ ასცდება. გეიმ სერვერის პორტები ახსნილი ფარავს, რატომ ვარდება ორი ნახევარი სხვადასხვანაირად.
0.0.0.0 ნიშნავს „ამ მანქანის ყველა მისამართს" და თითქმის ყოველთვის სწორია. შეცვალე მხოლოდ თუ მანქანას რამდენიმე ინტერფეისი აქვს და იცი, რომელი გინდა.
sv_hostname ფერის კოდებს იღებს: ^1 წითელი, ^2 მწვანე, ^3 ყვითელი, ^4 ლურჯი, ^5 ცისფერი, ^6 ვარდისფერი, ^7 თეთრი, ^8 ნარინჯისფერი, ^9 ნაცრისფერი. გამოიყენე მაქსიმუმ ორი. hostname, რომელიც ძირითადად პუნქტუაციაა, დასამახსოვრებელი არ არის, და სერვერების სიის ძიება უბრალო ტექსტზეა.
sv_licenseKey შენი საკუთარი გასაღებია Cfx.re პორტალიდან. ის გაცემულია შენზე და არა შენს ჰოსტზე, და მიბმულია მისამართზე, რომელზეც სერვერი მუშაობს - სხვა ჰოსტზე ან სხვა IP-ზე გადასვლა ნიშნავს მის ხელახლა გაცემას და არა გადაკოპირებას. FXServer მოქმედი გასაღების გარეშე არ ეშვება და კონსოლში ამას მკაფიოდ ამბობს.
set, sets და setr: ცვლადის სამი განსხვავებული სიტყვა#
ეს ყველას ერთხელ აბნევს. FiveM-ს აქვს სამი ბრძანება, რომლებიც ერთნაირად გამოიყურება და სხვადასხვა ადგილას მიდის.
| ბრძანება | ვისთვისაა ხილული | რისთვის გამოიყენე |
|---|---|---|
set | მხოლოდ სერვერის სკრიპტებისთვის | საიდუმლოები, connection string-ები, API გასაღებები |
sets | სერვერების სიისა და კლიენტებისთვის | პროექტის სახელი, აღწერა, tag-ები |
setr | კლიენტებისთვის, რეპლიცირებული | პარამეტრები, რომლებიც კლიენტის სკრიპტმა უნდა წაიკითხოს |
სკრიპტი ნებისმიერს კითხულობს GetConvar('name', 'default')-ით ან GetConvarInt('name', 0)-ით. წესი მარტივია და აბსოლუტური: ყველაფერი საიდუმლო `set`-ს იყენებს. ბაზის პაროლი sets-ის უკან სერვერების სიაში ქვეყნდება, სადაც წუთებში იჭრება.
set mysql_connection_string "mysql://user:pass@host/db" # privatesets sv_projectName "Northside RP" # publicsets sv_projectDesc "Serious roleplay, whitelist on Discord"setr voice_defaultRadius 25.0 # clients read itsets locale იღებს locale იდენტიფიკატორს, როგორიცაა en-GB ან de-DE; ნაგულისხმევი შაბლონი აგზავნის placeholder-ს root-AQ, რაც ანტარქტიდაა, და მისი დატოვება პატარა ნიშანია, რომ ფაილი არავის წაუკითხავს. sets tags მძიმით გამოყოფილი სიაა, რომელსაც სერვერების სიის ფილტრები იყენებენ, და ეს ყველაზე იაფი აღმოჩენაა, რასაც იღებ.
load_server_icon ითხოვს 96-ზე-96 PNG-ს, რომელიც server.cfg-ის გვერდით დევს. სხვა ზომა უარყოფილია, ჩვეულებრივ შეტყობინებით, რომელსაც ვერ შეამჩნევ.
OneSync და მოთამაშეთა slot-ები#
საბაზისო GTA ქსელი 32 მოთამაშეზე ჩერდება. OneSync არის Cfx.re-ის ჩანაცვლება, და ყველაფერი 32 slot-ის ზემოთ მასზეა დამოკიდებული:
set onesync onset onesync_population trueset onesync_forceMigration truesv_maxclients 64onesync on მიმდინარე ფორმაა და ფარავს იმას, რასაც ძველი გზამკვლევები Infinity-ს უწოდებენ. legacy უფრო ძველი, დაბალი სიმძლავრის რეჟიმია, ხოლო off 32-მოთამაშიან ჭერზე აბრუნებს. OneSync-ის ჩართვისას FXServer მიიღებს slot-ების რაოდენობას ნებისმიერ გონივრულზე ბევრად მეტს; რიცხვი, რომელიც უნდა დააყენო, შენი CPU-თი და resource-ების სიით წყდება და არა ზღვრით.
onesync_population აკონტროლებს, ქმნის თუ არა სერვერი ატმოსფერულ ტრაფიკს და ქვეითებს. Roleplay სერვერები ჩვეულებრივ ჩართულს ტოვებენ, შემდეგ წელიწადს ხარჯავენ entity-ების რაოდენობაზე ჩივილში. მისი გამორთვა ქსელისა და CPU დატვირთვის დიდ ნაწილს იცილებს ცარიელი ქალაქის ფასად, და რამდენიმე სერიოზული სერვერი ზუსტად ამას აკეთებს და საკუთარ ტრაფიკს იქ ქმნის, სადაც მნიშვნელოვანია.
onesync_forceMigration entity-ის მფლობელობას გადააქვს მოთამაშისგან, რომელიც გადის, მისი წაშლის ნაცვლად. მის გარეშე ტრანსპორტი, რომლის მფლობელიც ვიღაც იყო, შეიძლება გაქრეს, როცა ის გადის.
OneSync-ის პარამეტრების შეცვლა მთელი სერვერის რესტარტს მოითხოვს და არა resource-ისას. ასევე sv_maxclients-ისაც. და slot-ების რაოდენობის გაზრდა სერვერზე, რომელიც უკვე თავისი CPU წილის 100%-ზეა, ნიშნავს მხოლოდ იმას, რომ მეტი ადამიანი უყურებს, როგორ ნელდება - CPU vs RAM გეიმ სერვერებისთვის ამ საუბრის პატიოსანი ვერსიაა.
თამაშის build, script hook და pure mode#
sv_enforceGameBuild 2802sv_scriptHookAllowed 0sv_pureLevel 1sv_enforceGameBuild ყველა კლიენტს GTA Online-ის კონკრეტულ განახლებაზე ამაგრებს. ეს მნიშვნელოვანია, რადგან გარკვეულ DLC-ში დამატებული ტრანსპორტი, იარაღი, რუკის ზონები და ტანსაცმელი მხოლოდ იმ კლიენტებზე არსებობს, რომლებიც სულ მცირე ამ build-ს უშვებენ. თუ საკუთარი ტრანსპორტი უფრო ახალი build-ის ასეტებს იყენებს, ვიდრე შენ აიძულებ, ის უხილავი იქნება ან კლიენტს ჩააგდებს. გავრცელებული მნიშვნელობებია 1604 (საბაზისო build), 2060, 2189, 2372, 2545, 2612, 2699, 2802, 2944, 3095 და შემდგომი. სია იზრდება Rockstar-ის ყოველ განახლებაზე, ამიტომ შეამოწმე მიმდინარე Cfx.re დოკუმენტაცია და არა ფორუმის პოსტიდან გადაკოპირებული რიცხვი. მისი ზრდა ყველა მოთამაშეს აიძულებს Rockstar-იდან უფრო ახალი თამაშის მონაცემები ჩამოტვირთოს, რაც მათთვის ერთჯერადი დაყოვნებაა და ღირს გამოცხადება.
sv_scriptHookAllowed 0 ბლოკავს ScriptHookV-ზე დაფუძნებულ კლიენტის მენიუებს. დატოვე ნულზე. არ არსებობს roleplay სერვერი, რომელსაც ის ჩართული უნდა.
sv_pureLevel 1 უარყოფს კავშირებს კლიენტებისგან შეცვლილი თამაშის ფაილებით; 2 უფრო მკაცრია და გრაფიკის ცვლილებებსაც ბლოკავს. Pure mode ბლაგვი იარაღია: დონე 2 სრულიად უდანაშაულო მოთამაშეებს უარყოფს, რომლებიც ვიზუალურ მოდებს იყენებენ, და ის anti-cheat არ არის. დაიწყე 0-ით ან 1-ით, თუ მიზეზი არ გაქვს.
sv_endpointprivacy true მოთამაშეთა IP მისამართებს სერვერის საჯარო გამოტანის გარეთ ინახავს. მისი გამორთვის მიზეზი არ არსებობს.
Resource-ების გაშვება#
ensure oxmysqlensure ox_libensure es_extendedensure ox_inventoryensure pma-voiceensure იწყებს resource-ს, ან რესტარტავს, თუ უკვე გაშვებულია. start მხოლოდ იწყებს. stop და restart იმას აკეთებენ, რასაც ამბობენ, ხოლო refresh ხელახლა სკანირებს resources/-ს საქაღალდეებისთვის, რომლებიც სერვერის ჩატვირთვისას არ იყო - ახალ resource-ს ყოველთვის სჭირდება refresh, სანამ ensure მას იპოვის.
ფაილში რიგი არის ჩატვირთვის რიგი, ხოლო ჩატვირთვის რიგი არის დამოკიდებულების რიგი. ჯერ ბაზის ხიდი, შემდეგ გაზიარებული ბიბლიოთეკები, შემდეგ framework, შემდეგ ყველაფერი, რაც framework-თან საუბრობს. job resource, რომელიც core-მდე იწყება, nil-ს იღებს, როცა გაზიარებულ ობიექტს ითხოვს, და შემდეგ ჩუმად არაფერს აკეთებს დარჩენილი სესიის განმავლობაში, შეცდომის გარეშე. რომელი framework ჩავარდება ამ სიის შუაში და რა სჭირდება თითოეულს, ფარავს FiveM framework-ების შედარება.
resource მხოლოდ მაშინ მოიძებნება, თუ მისი საქაღალდე fxmanifest.lua-ს შეიცავს. საქაღალდეები კვადრატულ ფრჩხილებში, როგორიცაა [core] ან [jobs], კონტეინერებად სკანირდება და არა resource-ებად, და ჩადგმა რამდენიმე დონეზე შეიძლება. ensure ყოველთვის იღებს resource-ის სახელს და არასოდეს გზას.
ACE უფლებები: ვის რა შეუძლია#
FiveM-ის უფლებების სისტემა ორი ბრძანებაა. add_principal ამბობს, რომ ერთი რამ მეორისგან მემკვიდრეობს. add_ace ამბობს, რომ principal-ს ობიექტი ნებადართული ან აკრძალულია.
add_ace group.admin command allowadd_ace group.admin command.quit denyadd_ace group.mod command.kick allowadd_ace group.mod command.ban allowadd_principal group.admin group.modadd_principal identifier.license:8e1f0c2a4b6d8e0f2a4b6c8d0e2f4a6b8c0d2e4f group.adminadd_principal identifier.discord:216735154273419264 group.modობიექტები წერტილებზე იერარქიულია, ამიტომ command-ის დაშვება უშვებს ყველა command.something-ს, და კონკრეტულზე მოგვიანებით deny იმარჯვებს. Principal-ები შეიძლება იყოს იდენტიფიკატორები, ჯგუფები ან resource-ები - resource.mycoolscript ნამდვილი principal-ია, რითიც resource-ს თავადვე ენიჭება პრივილეგირებული ბრძანებების გაშვების უფლება.
იდენტიფიკატორების ტიპები, რომელთა გამოყენებაც principal-ებად შეგიძლია: license, license2, steam, discord, fivem, xbl, live და ip. license არის ის, რომელიც მუდმივი ადმინისთვის უნდა გამოიყენო: ის სტაბილურია, Steam-ის გაშვება არ სჭირდება და კონსოლში იბეჭდება, როცა მოთამაშე შედის. steam იდენტიფიკატორები მხოლოდ მაშინ არსებობს, თუ set steam_webApiKey-ით Steam Web API გასაღები დააყენე, ხოლო discord - მხოლოდ თუ მოთამაშეს Discord გაშვებული აქვს. ip არასოდეს გამოიყენო.
Resource-ები ამას ამოწმებენ IsPlayerAceAllowed(source, 'something')-ით, და ობიექტი არ არის აუცილებელი ბრძანება იყოს - framework-ები საკუთარს განსაზღვრავენ, მაგალითად ace ადმინ მენიუს გასახსნელად. true არგუმენტი RegisterCommand გამოძახების ბოლოს არის ის, რაც ბრძანებას პირველ რიგში ACE-შეზღუდულს ხდის; მის გარეშე ბრძანება სერვერზე ყველა მოთამაშისთვის ღიაა.
ორ რამეში ხალხი ცდება. პირველი, group.admin-ს მნიშვნელობა არ აქვს, სანამ მას რამეს არ მიანიჭებ: ის ჩვეულებრივი სახელია და არა ჩაშენებული როლი. მეორე, txAdmin ინახავს საკუთარ ცალკე ადმინების სიას, ამიტომ ვიღაცის txAdmin-ში დამატება მას თამაშში ACE უფლებებს არ აძლევს, და ACE უფლებების მინიჭება txAdmin-ში არ შეუშვებს. ეს ორი სისტემაა და ორივეს შენ ინახავ. ამ სიების მოკლედ ყოფნის ზოგადი არგუმენტი არის ქვემომხმარებლები და უმცირესი პრივილეგია-ში.
RCON და რატომ დატოვო ის გამორთული#
FXServer მხარს უჭერს ძველ Source-სტილის RCON პროტოკოლს rcon_password-ით. ნაგულისხმევი შაბლონი მას დაკომენტარებულს აგზავნის და იქ უნდა დარჩეს. FiveM-ზე RCON პაროლს ღია სახით აგზავნის UDP-ით იმავე პორტზე, რაც თამაშს, და ყველაფერი, რისთვისაც მას გამოიყენებდი - კონსოლი, რესტარტები, მოთამაშეთა მართვა - უკვე შენს პანელის კონსოლსა და txAdmin-შია. თუ ის მართლა გჭირდება, დააყენე პაროლი, რომელიც სხვაგან არსად არსებობს, და ჯერ წაიკითხე RCON, უსაფრთხოდ.
sv_master1 "" სერვერს საჯარო სერვერების სიიდან აშორებს. გამოიყენე სადეველოპმენტო სერვერისთვის, რომლის პოვნაც უცხოებს არ გინდა, და გახსოვდეს, რომ დააყენე, რადგან სხვა შემთხვევაში „ჩემი სერვერი სიაში არ ჩანს" გრძელ საღამოს ნიშნავს.
კონფიგურაციის პრობლემების მოგვარება, რომელიც არ ეშვება#
ხაზის შემდეგ, რომელიც შეცვალე, არაფერი ხდება. დაუხურავი ბრჭყალი. პარსერმა ხაზის დანარჩენი ნაწილი შთანთქა, და თუ ბრჭყალი ფაილის ბოლოში იყო, ბოლო რამდენიმე პარამეტრი არასოდეს შესრულებულა. მოძებნე ფაილში ბრჭყალების კენტი რაოდენობა.
კონსოლი ამბობს, რომ ლიცენზიის გასაღები არასწორია. გასაღები არასწორია, გაუქმებულია, ან სხვა მისამართზე გამოიყენება. გასაღებები იმ მისამართზეა მიბმული, რომელზეც მუშაობენ, ამიტომ სერვერს, რომელიც გადავიდა, გასაღები Cfx.re პორტალში ხელახლა უნდა გაიცეს და არა გადაკოპირდეს.
Could not find resource. საქაღალდის სახელი ensure ხაზს არ ემთხვევა, საქაღალდეს fxmanifest.lua არ აქვს, ან საქაღალდე სერვერის ჩატვირთვის შემდეგ დაემატა და refresh არავის გაუშვია. Linux-ზე რეგისტრს მნიშვნელობა აქვს.
მოთამაშეები "Loading screen"-ზე სამუდამოდ რჩებიან. ჩვეულებრივ resource, რომელიც spawn-ის ან პერსონაჟის ნაკადში შეცდომას აგდებს. უყურე კონსოლს, სანამ ვინმე შედის; ბოლო resource, რომელმაც ჩუმად ყოფნამდე დაბეჭდა, შენი კანდიდატია. კონსოლის კითხვა არის უნარი, რომელიც ამას სჭირდება.
მოთამაშეები საერთოდ ვერ უკავშირდებიან, მაგრამ სერვერი მუშაობს. UDP მიუწვდომელია. დარწმუნდი, რომ endpoint_add_tcp და endpoint_add_udp ორივე არსებობს და პორტი ის არის, რომელიც შენმა ჰოსტმა გამოგიყო.
კლიენტებს ეუბნებიან, რომ სერვერი სხვა თამაშის build-ზეა. sv_enforceGameBuild არ ემთხვევა იმას, რაც მათ თამაშს აქვს. მათ GTA-ს განახლება უნდა დაუშვან, ან შენ უნდა დაწიო იძულებითი build.
სერვერი 32-ზე მეტ `sv_maxclients`-ს უგულებელყოფს. OneSync გამორთულია. დააყენე set onesync on და გადატვირთე მთელი სერვერი.
RE:NODE-ზე FiveM გეგმებს ორი პორტის გამოყოფა მოჰყვება - ერთი თამაშის endpoint-ისთვის და ერთი txAdmin-ის ვებ ინტერფეისისთვის - და შეგიძლია მეტის დამატება Network ჩანართზე, თუ resource-ს საკუთარი სჭირდება. Startup ჩანართი შეიცავს გაშვების ცვლადებს, server.cfg თავად რედაქტირებადია ბრაუზერში სინტაქსის გამოკვეთით ან SFTP-ით, და კონსოლი ფილტრის გარეშეა, რაც ერთადერთი გზაა, რომლითაც ზემოთ აღწერილი loading-screen პრობლემა ოდესმე წყდება. ყოველკვირეული რესტარტი Schedules ჩანართიდან entity-ების რაოდენობას პატიოსანს ინახავს; რესტარტის განრიგები, რომლებიც ეხმარება მსჯელობას შეიცავს.
FAQ#
მჭირდება ორივე endpoint_add_tcp და endpoint_add_udp?
დიახ, ერთსა და იმავე პორტზე. UDP თამაშს ატარებს, TCP resource-ების ჩამოტვირთვას და JSON endpoint-ებს, რომლებსაც სერვერების სია კითხულობს. ერთის გარეშე სერვერი მუშაობს იმ წერტილამდე, სანამ მოთამაშე შესვლას ცდის.
რა განსხვავებაა set, sets და setr-ს შორის?
set სერვერისთვის პირადია, sets სერვერების სიაში ქვეყნდება, setr დაკავშირებულ კლიენტებზე რეპლიცირდება. ბაზის პაროლები და API გასაღებები ყოველთვის set-შია. ყველაფერი, რის ტრეკერ საიტზე დანახვასაც არ შეგაწუხებს, შეიძლება იყოს sets.
რამდენი მოთამაშის დატევა შეუძლია FiveM სერვერს?
ოცდათორმეტი OneSync-ის გარეშე. set onesync on-ით პროგრამული ჭერი ბევრად მაღალია, ვიდრე ის, რასაც უნდა მიაღწიო, და რეალური პასუხია ის, რასაც შენი CPU წილი და resource-ების სია იტანს - უმეტესი სერვერი თავის ზღვარს 48-სა და 128-ს შორის პოულობს ნორმალური roleplay resource დატვირთვით.
როგორ გავხადო ვინმე ადმინი?
დაამატე მისი license: იდენტიფიკატორი ჯგუფის principal-ად და მიანიჭე ამ ჯგუფს ace-ები, რომლებიც გინდა. მისი license იდენტიფიკატორი კონსოლში იბეჭდება, როცა ის შედის. თუ მას txAdmin-იც სჭირდება, დაამატე ის იქ ცალკე - უფლებების ორი სისტემა ერთმანეთს არ ესაუბრება.
რატომ არ მოქმედებს ჩემი ცვლილება server.cfg-ში?
Convar-ები იკითხება resource-ის დაწყებისას. მნიშვნელობის შეცვლა და არაფრის რესტარტი არაფერს ცვლის. გადატვირთე resource, რომელიც მას კითხულობს, ხოლო sv_maxclients-ისთვის, OneSync-ისა და endpoint-ებისთვის - მთელი სერვერი.
უნდა ჩავრთო RCON?
არა. ეს დაშიფვრის გარეშე პროტოკოლია წინა ათწლეულიდან, და ყველა სამუშაო, რასაც ის აკეთებს, უკვე პანელის კონსოლს და txAdmin-ს შეუძლია. დატოვე rcon_password დაკომენტარებული.




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