ფასიანი FiveM resource, ნაყიდი Cfx.re-ის asset escrow სისტემით, Cfx.re-ის ანგარიშს ენიჭება, და ის მხოლოდ სერვერზე მუშაობს, რომლის ლიცენზიის key იმავე ანგარიშს ეკუთვნის. კოდი დაშიფრულია (resource-ის საქაღალდეში .fxap ფაილია), რედაქტირებადია მხოლოდ ის ფაილები, რომლებიც შემქმნელმა escrow_ignore-ში ჩამოთვალა - ჩვეულებრივ კონფიგურაცია - და სერვერი გაშვებისას უფლებას Cfx.re-თან ამოწმებს. ეს ერთი წესი ხსნის escrow-ის თითქმის ყველა პრობლემას: resource, რომელმაც "მოულოდნელად შეწყვიტა მუშაობა", თითქმის ყოველთვის არის key, რომელიც ახლა სხვა ანგარიშს ეკუთვნის, ვიდრე იმას, რომელმაც სკრიპტი იყიდა. ეს გზამკვლევი ხსნის, როგორ აღწევს შენაძენი შენს სერვერამდე, რომელ ანგარიშს რა უნდა ეკუთვნოდეს, რისი შეცვლა შეგიძლია, როგორ მუშაობს გადაცემა, უფასო resource-ების ლიცენზიებს და რატომ ჯდება გაჟონილი სკრიპტები უფრო ძვირი, ვიდრე ზოგავს.
რა არის escrow#
FiveM-ის resource-ები დისკზე ჩვეულებრივი Lua ან JavaScript-ია. escrow-მდე ყველაფერი გაყიდული შეიძლებოდა გამოშვების დღესვე დაკოპირებულიყო და ხელახლა გავრცელებულიყო, და ფასიანი resource-ების ბაზარი ძირითადად გაჟონვების ბაზარი იყო. Cfx.re-ის asset escrow ამის გამოსწორებაა: შემქმნელები resource-ს ტვირთავენ, Cfx.re შიფრავს შემქმნელის მიერ არჩეულ ნაწილებს, ხოლო მყიდველები იღებენ ვერსიას, რომელიც მხოლოდ მათთვის მუშაობს.
რას ნიშნავს ეს პრაქტიკაში:
- შენაძენები Tebex-ზე გადის და მყიდველის Cfx.re ანგარიშზეა მიბმული.
- asset მყიდველის ანგარიშში ჩნდება Cfx.re-ის პორტალზე (ადრე keymaster), საიდანაც zip-ად ჩამოიტვირთება.
- resource-ის საქაღალდე შეიცავს `.fxap` ფაილს და დაშიფრულ Lua ფაილებს, რომლებიც რედაქტორში არ იკითხება.
- გაშვებისას სერვერი ამტკიცებს, რომ მისი key ეკუთვნის ანგარიშს, რომელსაც უფლება აქვს. თუ არ ეკუთვნის, resource ჩატვირთვაზე უარს ამბობს და კონსოლი ამბობს, რომ მასზე უფლება არ გაქვს.
- `escrow_ignore`-ში ჩამოთვლილი ფაილები ჩვეულებრივ ტექსტად რჩება, და ასე აწვდიან შემქმნელები რედაქტირებად კონფიგურაციებს, locale-ებს და ზოგჯერ კლიენტის მხარის კოდს.
escrow კოდს იცავს და არა asset-ებს, როგორიცაა მოდელები: მანქანის .yft, რომელიც ყოველ კლიენტს stream-ით მიეწოდება, მაინც შეიძლება კლიენტის ქეშიდან ამოიღო. სწორედ ამიტომ არის მოდელებით დატვირთული ფასიანი შიგთავსი ხშირად escrow-ით დაცული ძირითადად მის გარშემო არსებული სკრიპტების გამო.
როგორ აღწევს შენაძენი შენს სერვერამდე#
- იყიდე resource შემქმნელის Tebex მაღაზიაში, შესული იმ Cfx.re ანგარიშით, რომლითაც სერვერის გაშვებას აპირებ.
- Cfx.re-ის პორტალში იპოვე ის შენს მინიჭებულ asset-ებში და ჩამოტვირთე.
- ატვირთე საქაღალდე
resources-ში, როგორც ნებისმიერი სხვა resource, და დაამატეensure nameserver.cfg-ში. პანელიან ჰოსტზე ამას ფაილების მენეჯერი ან SFTP აკეთებს; SFTP და ფაილების მენეჯერი დეტალებს შეიცავს. - გაუშვი სერვერი იმავე ანგარიშის ლიცენზიის key-ით.
ნაბიჯი 1 არის ის ადგილი, სადაც პრობლემები იწყება. სტაფის წევრი სკრიპტს საკუთარ ანგარიშზე ყიდულობს "სერვერისთვის", key მფლობელის ანგარიშს ეკუთვნის, და სკრიპტი არასოდეს ეშვება. უფლება ანგარიშზე ენიჭება, ხოლო key წყვეტს, რომელი ანგარიშია სერვერი.
რომელ ანგარიშს უნდა ეკუთვნოდეს key#
რადგან ყოველი escrow შენაძენი key-ის ანგარიშს მისდევს, ანგარიში, რომელსაც key ეკუთვნის, ფაქტობრივად სერვერის ფასიანი შიგთავსის მფლობელია. ეს რამის ყიდვამდე გააზრებულად გადაწყვიტე.
| ვარიანტი | უპირატესობა | ნაკლი |
|---|---|---|
| მფლობელის პირადი ანგარიში | დასაწყისში მარტივია | სერვერის asset-ები ერთ ადამიანზეა მიბმული |
| პროექტის ცალკე ანგარიში | სტაფის ცვლილებებს უძლებს | ვინმემ მისი მონაცემები უსაფრთხოდ უნდა შეინახოს |
| თითოეული დეველოპერის საკუთარი ანგარიში | არაფერი | asset-ები გაფანტულია; უმეტესობა არ გაეშვება |
პატარა კერძო სერვერზე მეტი ნებისმიერი რამისთვის პროექტის ცალკე Cfx.re ანგარიში გონივრული არჩევანია: ყოველი შენაძენი მასზე კეთდება, ლიცენზიის key მისგან გაიცემა, ხოლო ორი ადამიანი, რომლებიც ერთმანეთს ენდობიან, მის მონაცემებს ინახავს ჩართული ორფაქტორიანი ავთენტიფიკაციით. როცა თანამფლობელი მიდის, სერვერის სკრიპტები მასთან ერთად არ მიდის. ორფაქტორიანი ავთენტიფიკაცია შენს პანელის ანგარიშზე ზოგად არგუმენტს გვთავაზობს იმ ანგარიშების დასაცავად, რომლებზეც ყველაფერია დამოკიდებული.
ერთ ანგარიშს შეიძლება რამდენიმე key ჰქონდეს, ხოლო ანგარიშზე მინიჭებული escrow asset მუშაობს ნებისმიერ სერვერზე, რომელიც ამ ანგარიშის რომელიმე key-ს იყენებს. ასე უშვებ დეველოპმენტის სერვერს ცოცხლის გვერდით იმავე სკრიპტებით: გასცე მეორე key იმავე ანგარიშიდან. FiveM სერვერის დაყენება key-ების შექმნას ხსნის.
აწარმოე რეესტრი, რას ფლობ
როგორც კი სერვერს რამდენიმეზე მეტი ფასიანი resource ექნება, აწარმოე მარტივი ჩანაწერი - ცხრილი ან მიმაგრებული სტაფის დოკუმენტი - თითო სტრიქონით თითო asset-ზე:
- resource-ის სახელი და შემქმნელი;
- სად იყიდე, თარიღი და Tebex-ის ტრანზაქციის ID;
- რომელი Cfx.re ანგარიში ფლობს უფლებას;
- ვერსია, რომელიც გაშვებული გაქვს, და სად ინახება ჩამოტვირთული zip;
- რედაქტირებადია თუ არა მისი კონფიგურაცია და რა შეცვალე მასში.
ამას თითო შენაძენზე ხუთი წუთი სჭირდება და მოგვიანებით საათებს ზოგავს. როცა resource განახლების შემდეგ ფუჭდება, იცი, რომელ შემქმნელს დაუკავშირდე და რა მტკიცებულებით. როცა თანამფლობელი მიდის, იცი, რომელი უფლებებია ვის ანგარიშზე. და როცა ვინმე იკითხავს, მუშაობს თუ არა სერვერზე რამე გაჟონილი, შეგიძლია სიით უპასუხო და არა მხრების აჩეჩვით.
თავად key credential-ია. ის server.cfg-ში sv_licenseKey-ით იწერება, ან უკეთესი, პატარა ფაილში, რომელსაც server.cfg უშვებს და რომელიც სერვერს არასოდეს ტოვებს. ვისაც ის აქვს, შეუძლია სერვერი შენი ანგარიშის სახელით გაუშვას და მასთან ერთად შენი ნაყიდი resource-ები.
რისი შეცვლა შეგიძლია და რისი არა#
escrow resource-ის fxmanifest.lua ჩამოთვლის, რა რჩება წაკითხვადი:
fx_version 'cerulean'game 'gta5'lua54 'yes'shared_script 'config.lua'client_scripts { 'client/*.lua' }server_scripts { 'server/*.lua' }escrow_ignore { 'config.lua', 'locales/*.lua', 'client/editable.lua',}ყველაფერი escrow_ignore-ში ჩვეულებრივი ტექსტია და შენ შეგიძლია მისი რედაქტირება. დანარჩენი ყველაფერი დაშიფრულია. კარგი შემქმნელები ნაწილებს, რომელთა შეცვლაც მოგინდება - ფასები, კოორდინატები, framework-ის ხიდის ფუნქციები, შეტყობინებები - იგნორირებულ ფაილებში ათავსებენ. ცუდები ყველაფერს შიფრავენ და სამოფციიან კონფიგურაციას გიტოვებენ.
რას ნიშნავს ეს ყიდვისას:
- გადახდამდე იკითხე, რა არის ღია. resource, რომლის framework-ის ინტეგრაციაც რედაქტირებად ფაილშია, შეიძლება მოარგო, როცა შენი framework განახლდება. ის, რომლის ინტეგრაციაც დაშიფრულია, შემქმნელს ელოდება.
- დაშიფრულ ნაწილში არსებული ხარვეზების გამოსწორება შემქმნელის საქმეა. შეგიძლია მათ შესახებ ლოგებითა და პროფილით შეატყობინო, და ეს ყველაფერია. FiveM სერვერის წარმადობა აჩვენებს, როგორ შექმნა მტკიცებულება, რომელსაც შემქმნელი ვერ შეედავება.
- ნუ გადაარქმევ resource-ის საქაღალდეს სახელს, თუ შემქმნელი არ ამბობს, რომ ეს უსაფრთხოა. ზოგიერთი escrow resource საკუთარ სახელს ამოწმებს.
- განახლებები ხელახალი ჩამოტვირთვაა. როცა შემქმნელი გამოსწორებას გამოუშვებს, ჩამოტვირთე ახალი ვერსია პორტალიდან, გადმოიტანე შენი რედაქტირებული იგნორირებული ფაილები და ჩაანაცვლე საქაღალდე.
შეინახე ყოველი ვერსია, რომელსაც ჩამოტვირთავ. escrow resource, რომელიც ლოკალურად წაშალე, თავიდან მხოლოდ მანამ ჩამოიტვირთება, სანამ უფლება და შემქმნელის listing არსებობს. backup-ები, რომლებიც მართლა აღდგება შენს resources საქაღალდესაც ისევე ეხება, როგორც მონაცემთა ბაზას.
გადაცემა და მფლობელის შეცვლა#
სერვერები ხელიდან ხელში გადადის, თანამფლობელები შორდებიან, პროექტები ახალ ანგარიშზე გადადის. escrow asset-ები ის ნაწილია, რომელიც ფაილების კოპირებით არ გადადის.
ვარიანტები, დალაგებული იმის მიხედვით, რამდენად სუფთაა:
- შეინარჩუნე ანგარიში, შეცვალე, ვინ ფლობს. თუ პროექტი უკვე ცალკე ანგარიშს იყენებს, მფლობელის შეცვლა პაროლისა და ორფაქტორიანი მოწყობილობის შეცვლაა. სხვა არაფერი გადადის.
- გამოიყენე Cfx.re-ის გადაცემის ფუნქცია. პორტალი გთავაზობდა მინიჭებული asset-ების სხვა ანგარიშზე გადაცემის გზას, Cfx.re-ის წესების ფარგლებში და იმის მიხედვით, უშვებს თუ არა ამას შემქმნელი. ხელმისაწვდომობა და ლიმიტები დროთა განმავლობაში იცვლებოდა, ამიტომ შეამოწმე, რას გთავაზობს პორტალი თითოეული asset-ისთვის, სანამ ვინმეს გადაცემას დაჰპირდები.
- ჰკითხე შემქმნელს. ბევრი შემქმნელი ლიცენზიას რეალური მფლობელობის შეცვლისთვის გადაიტანს, თუ ყიდვის მტკიცებულებით დაუკავშირდები.
- იყიდე თავიდან. სათადარიგო ვარიანტი, და მიზეზი, რის გამოც 1-ლი ვარიანტი თავიდანვე სწორად უნდა გააკეთო.
სერვერის სხვა ჰოსტზე გადატანა ამათგან არცერთს არ მოიცავს. key და მისი asset-ები ანგარიშს ეკუთვნის და არა მანქანას, ასე რომ იგივე key ახალ ჰოსტზე იმავე სკრიპტებს უშვებს, მას შემდეგ რაც key-ის დარეგისტრირებული დეტალები განახლდება, თუ შენი კონფიგურაცია ამას მოითხოვს. სერვერის გადატანა მოთამაშეების დაკარგვის გარეშე ამ სამუშაოს დანარჩენ ნაწილს ხსნის.
ღია კოდის resource-ებსაც აქვთ ლიცენზიები#
ყველაფერი escrow-ით არ არის დაცული. ძირითადი framework-ები და მათ გარშემო არსებული ეკოსისტემის დიდი ნაწილი ღია კოდისაა, და ღია კოდი ლიცენზიაა და არა მისი არარსებობა.
- ESX Legacy და QBCore GPL-3.0-ით ქვეყნდება, ისევე როგორც მათთვის აგებული ბევრი resource. Overextended-ის ბიბლიოთეკებიც, როგორიცაა
ox_lib, GPL-ის ოჯახის ლიცენზიებს იყენებს. შეამოწმე თითოეული რეპოზიტორიისLICENSEფაილი; ისინი განსხვავდება. - GPL გაძლევს კოდის გაშვების, შეცვლისა და გაზიარების უფლებას. თუ შეცვლილ ვერსიას ავრცელებ - ყიდი, აქვეყნებ - GPL-ის პირობები ვრცელდება იმაზე, რასაც ავრცელებ, მათ შორის წყაროს კოდის იმავე ლიცენზიით გაზიარებაზე.
- შეცვლილი GPL resource-ის საკუთარ სერვერზე გაშვება, გავრცელების გარეშე, ჩვეულებრივი გამოყენებაა.
- ვინმეს უფასო GPL resource-ის აღება, მისი დაშიფვრა და escrow-ით გაყიდვა ლიცენზიის დარღვევაა და დავების გავრცელებული წყარო.
სერვერის მფლობელისთვის პრაქტიკული საკითხებია: შეინახე ლიცენზიის ფაილები საქაღალდეებში, რომლებსაც აყენებ, მიუთითე ავტორები, როცა ცვლილებებს აქვეყნებ, და ნუ იყიდი უფასო resource-ების "პრემიუმ ვერსიებს" ადამიანებისგან, რომლებსაც ისინი არ დაუწერიათ.
გაჟონილი resource-ები#
გაჟონვის საიტები escrow resource-ებს მოხსნილი დაცვით ავრცელებს, და გაჟონილი resource-ები არის ადგილი, სადაც FiveM სერვერების უმეტესობა კომპრომეტირდება. ფასი მხოლოდ ეთიკური არ არის:
- backdoor-ები. გაჟონილი resource-ები რეგულარულად შეიცავს რამდენიმე ხაზს, რომელიც დისტანციური მისამართიდან კოდს ჩამოტვირთავს და უშვებს. მათი მეშვეობით გამჟონავს შეუძლია საკუთარ თავს ადმინი მისცეს, შენი მონაცემთა ბაზა გადმოიტვირთოს ან შენი ლიცენზიის key მოიპაროს. ტიპური ნიმუშია
PerformHttpRequest, რომელსაც პასუხზეloadმოსდევს; მოძებნე ის და მეთოდის დანარჩენი ნაწილისთვის წაიკითხე მოდიფიცირებული სერვერის სისუფთავის შენარჩუნება. - შენი key. Cfx.re-ს შეუძლია ლიცენზიის key-ების გაუქმება და ანგარიშების წინააღმდეგ მოქმედება მისი პირობების დამრღვევი შიგთავსის გაშვებისთვის. გაუქმება ანგარიშს მისდევს, ასე რომ მასთან ერთად მიდის მასზე არსებული ყოველი key და ყოველი ლეგიტიმური შენაძენი.
- განახლებების გარეშე. გაჟონვა გაყინულია იმ ვერსიაზე, რომლიდანაც ვიღაცამ დაცვა მოხსნა. როცა framework წინ წავა, ის გაფუჭდება, და მას ვერავინ გაასწორებს.
- მხარდაჭერის გარეშე. შემქმნელები გაჟონილ ასლებზე არ გეხმარებიან, და მათ ცნობენ.
თუ მემკვიდრეობით ღებულობ სერვერს, სავსეს უცნობი წარმოშობის resource-ებით, მოეპყარი მას ისე, როგორც ნებისმიერ სერვერს, რომელიც შეიძლება კომპრომეტირებული იყოს: რა ქნა, როცა შენი სერვერი გატეხეს თანმიმდევრობას გაძლევს - შეაჩერე გავრცელება, შეცვალე ყოველი credential, მათ შორის ლიცენზიის key და მონაცემთა ბაზის პაროლი, შემდეგ ააგე თავიდან სუფთა წყაროებიდან.
გაყიდვა შენს საკუთარ სერვერზე#
escrow მოიცავს იმას, რასაც ყიდულობ. რასაც მოთამაშეებს ყიდი, მოიცავს Cfx.re-ის საკუთარი წესები სერვერის მფლობელებისთვის, რომლებიც მონეტიზაციას Tebex-ზე ატარებს და ზღუდავს, რისი გაყიდვაა შესაძლებელი - შიგთავსის გაყიდვამ, რომლის უფლებებიც არ გაქვს, ან თამაშის უპირატესობების გარკვეული ფორმებით გაყიდვამ შეიძლება key-ის გაუქმება გამოიწვიოს. წესები არაერთხელ გადაიხედა, ამიტომ მაღაზიის გახსნამდე წაიკითხე მიმდინარე ვერსია Cfx.re-ის საიტზე, ხოლო ზოგადი სურათისთვის სხვადასხვა თამაშში - თამაშის სერვერის მონეტიზაცია წესების ფარგლებში.
პრობლემების მოგვარება#
"You lack the required entitlement" resource-ისთვის. სერვერის ლიცენზიის key ეკუთვნის ანგარიშს, რომელიც asset-ს არ ფლობს. შეამოწმე, რომელმა ანგარიშმა იყიდა ის და რომელმა ანგარიშმა გასცა key.
escrow resource-ები გუშინ მუშაობდა და დღეს ვერ ეშვება. key შეიცვალა: ხელახლა შეიქმნა, სხვა ანგარიშის key-ით ჩანაცვლდა ან გაუქმდა. ან სერვერი გაშვებისას ვერ აღწევს Cfx.re-მდე შესამოწმებლად.
escrow resource ვერ ეშვება FXServer-ის განახლების ან ძველ ვერსიაზე დაბრუნების შემდეგ. escrow-ს სჭირდება სერვერის საკმარისად ახალი build. გამოიყენე რეკომენდებული build, როგორც აღწერილია FiveM სერვერის განახლებებში.
შენაძენს პორტალში ვერ პოულობ. ის სხვა Cfx.re ანგარიშზე იყიდეს, ან Tebex-ის შენაძენი ანგარიშის მიბმის გარეშე გაკეთდა. დაუკავშირდი შემქმნელს ტრანზაქციის ID-ით.
რედაქტირებული ფაილები განახლების შემდეგ ძველ მდგომარეობას დაუბრუნდა. საქაღალდე ჩაანაცვლე და შენი escrow_ignore ფაილები გადააწერე. შეინახე შენი რედაქტირებული კონფიგურაციების ასლი resource-ის გარეთ.
FAQ#
შემიძლია escrow-ით დაცული FiveM სკრიპტის ორ სერვერზე გაშვება?
დიახ, თუ ორივე სერვერი იყენებს ლიცენზიის key-ებს, გაცემულს იმ ანგარიშიდან, რომელიც asset-ს ფლობს. ერთ ანგარიშს შეიძლება რამდენიმე key ჰქონდეს, და უფლება ყველა მათგანს მოიცავს.
შეუძლია ჩემს ჰოსტს escrow resource-ებისთვის ლიცენზიის key-ის მოწოდება?
არა. key უნდა მოდიოდეს იმ Cfx.re ანგარიშიდან, რომელიც შენს asset-ებს ფლობს, და სწორედ ამიტომ გთხოვენ FiveM-ის ჰოსტები საკუთარი key-ის მოტანას. სხვისი ანგარიშის key შენს შენაძენებს ვერ გაუშვებდა.
შემიძლია escrow resource-ის რედაქტირება?
მხოლოდ იმ ფაილების, რომლებიც შემქმნელმა escrow_ignore-ში ჩამოთვალა, ჩვეულებრივ კონფიგურაციები და locale-ები. დანარჩენი ყველაფერი დაშიფრულია. ყიდვამდე იკითხე, რომელი ნაწილებია რედაქტირებადი.
რა მოუვა ჩემს სკრიპტებს, თუ სერვერს გავყიდი?
ისინი რჩება იმ Cfx.re ანგარიშთან, რომელმაც ისინი იყიდა. ან მთელი ანგარიში გადაეცი, ან გამოიყენე გადაცემა, სადაც პორტალი და შემქმნელი ამას უშვებს, ან ახალი მფლობელი საკუთარ ლიცენზიებს იყიდის.
უსაფრთხოა გაჟონილი FiveM სკრიპტები, თუ მათ დავასკანერებ?
სკანირება ცნობილ ნიმუშებს პოულობს და არა ყველაფერს. გაჟონვები backdoor-ების გავრცელებული გზაა, და მათი გაშვება შენს ლიცენზიის key-სა და Cfx.re ანგარიშს რისკის ქვეშ აყენებს. დანაზოგი იშვიათად ღირს რომელიმე მათგანად.




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