Hosting obrazów FiveM
Hosting obrazów FiveM z linkami, które nie wygasają.
Screenshoty z screenshot-basic i ScreenCapture, zdjęcia z LB Phone, ikony przedmiotów dla ox_inventory i wideo ekranu wczytywania, podawane z jednego adresu CDN na plik. Link zapisany dziś działa jeszcze za rok, a transfer nigdy nie jest liczony.
Bez karty · 3 GB za darmo · Transfer nigdy nie jest liczony
Na tej stronie
Czego serwer FiveM naprawdę potrzebuje od hostingu obrazów
Serwer roleplay produkuje obrazy bez przerwy: gracz robi zdjęcie telefonem, admin robi screenshot gracza przy zgłoszeniu, ekwipunek pokazuje dwieście ikon przedmiotów, ekran wczytywania odtwarza klip. Każdy z nich zamienia się w URL zapisany gdzieś — w bazie telefonu, w linii logu, w wiadomości na Discordzie — a obraz jest tylko tak przydatny, jak trwały jest ten URL.
Tu uniwersalne hostingi zawodzą. Załączniki z czatu wracają jako podpisane linki, które przestają działać, darmowe serwisy obrazów ograniczają wysyłki przez API albo usuwają stare treści, a folder hostowany samodzielnie za domowym łączem pada razem z routerem. BasiX jest zbudowany odwrotnie: jeden bezpośredni adres na plik, bez strony pośredniej, bez wygasania, jeśli go nie poprosisz.
Wysyłanie screenshotów z screenshot-basic, ScreenCapture i LB Phone
Większość skryptów FiveM już umie wysyłać do hostingu mediów; potrzebują tylko URL-a i klucza. BasiX odpowiada na punkty wysyłki, dla których te skrypty zostały napisane, więc zmiana to linia konfiguracji, a nie fork. LB Phone używa wbudowanej metody Custom do zdjęć, wideo i audio. ScreenCapture wysyła screenshoty i klipy po stronie serwera przez swój eksport remote-upload. screenshot-basic wysyła bezpośrednio, nawet z krótkiej wersji, która nie może wysyłać nagłówków, bo klucz może też podróżować jako parametr zapytania w adresie wysyłki.
Jeśli nie chcesz w ogóle dotykać konfiguracji innych skryptów, resource basix udostępnia exports.basix:screenshot(source, options, cb). Przechwytuje ekran gracza przez screenshot-basic i wysyła go z maszyny gracza przy użyciu jednorazowego presigned URL, więc twój klucz nigdy nie trafia do klienta.
Lua — screenshot gracza przy zgłoszeniu
exports.basix:screenshot(source, { folder = 'reports' }, function(err, file)
if err then return print('[basix] ' .. err) end
print(file.url)
end)Adres CDN, który budujesz sam
Każdy plik znajduje się pod adresem https://cdn.basix.media/<publicId>/<path>. publicId ma osiem znaków i jest taki sam dla każdego pliku na twoim koncie; path to ścieżka wybrana przy wysyłce. Oznacza to, że twój kod może zbudować adres obrazu na podstawie nazwy, bez odpytywania API — czyli dokładnie to, czego potrzebuje ekwipunek.
Pliki są podawane przez HTTPS z ETag-iem, otwartym CORS i obsługą zakresów, więc wideo przewija się natywnie w NUI. Po zastąpieniu pliku nowa wersja jest wszędzie w ciągu pięciu minut. Jeśli ustawisz obraz zastępczy, brakujący obraz pod twoim publicId zwraca ten zastępczy obraz, a nie zepsutą ikonę.
server.cfg — obrazy przedmiotów ox_inventory
setr inventory:imagepath "https://cdn.basix.media/<publicId>/items"Oryginały nietknięte, miniatury na żądanie
BasiX przechowuje i podaje twoje pliki bajt po bajcie; nic nie jest po cichu ponownie kompresowane. Gdy potrzebujesz mniejszej wersji, dodaj ?w= do adresu i otrzymasz WebP przeskalowany do rozmiaru, wygenerowany raz i potem cache’owany. Galeria w telefonie może wczytywać miniatury ?w=256, podczas gdy pełne zdjęcie jest o jedno dotknięcie dalej, a ikony przedmiotów mogą być żądane w rozmiarze, w jakim rysuje je interfejs.
Akceptowane typy to obrazy (JPEG, PNG, GIF, WebP, AVIF), wideo (MP4, WebM, MOV) i audio, wykrywane na podstawie bajtów, a nie nazwy pliku. Limit to 2048 MB na plik na każdym planie, więc wideo ekranu wczytywania mieści się tak samo jak screenshoty.
Linki, które nie wygasają, i błędy, które można odwrócić
Plik jest online, dopóki go nie usuniesz. Jeśli chcesz, by stare screenshoty ze zgłoszeń czyściły się automatycznie, ustaw politykę retencji na tym folderze — jest opcjonalna, folder po folderze, a poszczególne wysyłki można oznaczyć jako wyjątek. Przypadkowe usunięcie też nie jest ostateczne: usunięte pliki trafiają do kosza i można je odzyskać przez 7 dni na planie darmowym oraz 30 lub 90 dni na planie płatnym.
Jeśli przekroczysz limit miejsca, nic nie znika: konto przechodzi w tryb tylko do odczytu, istniejące linki dalej działają, a ty masz okres karencji i możliwość pełnego eksportu, zanim cokolwiek zostanie usunięte.
Cennik bez rachunku za transfer
Płacisz za miejsce; transfer nigdy nie jest liczony, na żadnym planie, zgodnie z zasadą rozsądnego użycia spisaną na piśmie. Jest darmowy plan bez karty, a potem Starter €5 (25 GB), Pro €15 (120 GB), Business €49 (500 GB), Ultra €89 (1000 GB) miesięcznie, z podatkiem. Logi i bazy danych współdzielą to samo miejsce, więc jedna subskrypcja obejmuje serwer, nie trzy.
Pytania
Nie. Link działa, dopóki nie usuniesz pliku albo nie usunie go polityka retencji ustawiona na jego folderze. Nie ma podpisanego parametru zapytania ani limitu czasu.
Zobacz też
Zaktualizowano 26 paź 2026