/
mc-node.net →
FiveM

Jak zainstalować MLO i własne mapy na serwerze FiveM?

Zaktualizowano 31/08/20264 min czytania
W tym artykule
  1. Czym różni się MLO od ymap?
  2. Krok 1: Przygotuj właściwą strukturę folderów
  3. Krok 2: Wgraj zasób przez SFTP
  4. Krok 3: Dodaj ensure w server.cfg
  5. Najczęstsze problemy
  6. Gotowe!

Chcesz nadać swojemu serwerowi FiveM własny charakter dzięki niestandardowym wnętrzom i modyfikacjom mapy? Prędzej czy później trafisz na MLO i pliki ymap. W tym poradniku krok po kroku zainstalujesz MLO lub własną mapę na swoim serwerze w MC-Node: przygotujesz właściwą strukturę folderów z folderem stream, utworzysz poprawny fxmanifest.lua, wgrasz zasób przez SFTP i aktywujesz wszystko za pomocą ensure w server.cfg. Dowiesz się też, jak rozwiązać najczęstsze problemy, takie jak wnętrza, które się nie ładują, albo gracze wpadający pod podłogę.

Czym różni się MLO od ymap?

Oba modyfikują świat gry, ale w różny sposób:

  • Ymap — plik rozmieszczenia, który dodaje lub przesuwa istniejące obiekty (propsy) w świecie: ogrodzenia, dekoracje, blokady dróg albo dodatkowy budynek widoczny z zewnątrz. Lekki i prosty; często wystarczy jeden plik .ymap.
  • MLO (Multi-Level Object) — pełnoprawne wnętrze, do którego można wejść, z własnymi pomieszczeniami, portalami, kolizją i oświetleniem. MLO składa się zwykle z kilku plików: .ydr (modele), .ybn (kolizja), .ytd (tekstury), .ytyp (definicja wnętrza) i .ymap (rozmieszczenie).

W skrócie: ymap coś ustawia, a MLO buduje coś, do czego możesz wejść. Instalacja przebiega niemal identycznie, ale MLO jest bardziej podatne na błędy, bo plik .ytyp musi zostać poprawnie załadowany.

Krok 1: Przygotuj właściwą strukturę folderów

  1. Rozpakuj pobrane MLO lub własną mapę na komputerze i sprawdź, jakie pliki zawiera.
  2. Utwórz jeden folder zasobu z krótką nazwą bez spacji i wielkich liter, na przykład vanilla_hotel.
  3. Umieść wszystkie pliki streamowane (.ydr, .ybn, .ytd, .ytyp i .ymap) w podfolderze o nazwie stream.
  4. W głównym folderze zasobu umieść plik fxmanifest.lua.

Struktura wygląda wtedy tak:

vanilla_hotel/
├── fxmanifest.lua
└── stream/
    ├── hotel_interior.ydr
    ├── hotel_interior.ybn
    ├── hotel_textures.ytd
    ├── hotel.ytyp
    └── hotel.ymap

Minimalny, poprawny fxmanifest.lua dla zasobu z mapą:

fx_version 'cerulean'
game 'gta5'

this_is_a_map 'yes'

Linia this_is_a_map 'yes' informuje FiveM, że ten zasób zawiera dane świata, dzięki czemu mapa poprawnie przeładuje się przy restarcie zasobu. Jeśli twórca dołączył dodatkowe linie, na przykład data_file 'DLC_ITYP_REQUEST' 'stream/hotel.ytyp', po prostu je zostaw.

Krok 2: Wgraj zasób przez SFTP

  1. Połącz się z serwerem przez SFTP. Jak to skonfigurować, przeczytasz w artykule SFTP z WinSCP lub FileZilla.
  2. Przejdź do folderu resources swojego serwera FiveM.
  3. Wgraj cały folder zasobu razem z podfolderem stream. Możesz też umieścić zasób w folderze kategorii, np. [maps].
  4. Używasz FileZilli? Przed wgrywaniem ustaw Transfer → Typ transferu → Binarny. W trybie ASCII lub Auto FileZilla może uszkodzić pliki binarne, takie jak .ydr i .ybn, przez co wnętrze nigdy się nie załaduje.

Małe zasoby możesz też wgrać przez zakładkę Files w panelu, ale przy MLO z dużymi plikami streamowanymi SFTP jest bardziej niezawodne. Ogólny sposób postępowania znajdziesz w artykule Jak wgrać skrypt?

Krok 3: Dodaj ensure w server.cfg

  1. Otwórz server.cfg przez zakładkę Files w panelu (lub przez SFTP).
  2. Dodaj linię ensure vanilla_hotel, z dokładnie taką samą nazwą jak folder zasobu.
  3. Zwróć uwagę na kolejność: umieść zasoby z mapami nad skryptami, które potrzebują wnętrza, np. skryptami housingu, garaży czy teleportów. Zła kolejność ensure sprawia, że taki skrypt startuje, gdy wnętrze jeszcze nie istnieje.
  4. Zapisz plik i zrestartuj serwer przez zakładkę Console.
  5. Sprawdź w konsoli, czy pojawia się Started resource vanilla_hotel, i podejdź w grze do tej lokacji.

Najczęstsze problemy

  • Wnętrze jest niewidoczne lub się nie ładuje — Najpierw sprawdź w konsoli, czy zasób faktycznie wystartował. Jeśli tak, pliki często zostały wgrane w uszkodzonej formie albo .ytyp nie jest ładowany: wgraj ponownie cały folder stream w trybie binarnym i sprawdź, czy w fxmanifest.lua znajduje się this_is_a_map 'yes'.
  • Wpadasz pod podłogę — Brakuje pliku kolizji (.ybn) albo jest on uszkodzony. Porównaj rozmiary plików na serwerze z tymi na swoim komputerze; jeśli się różnią, wgrywanie się nie powiodło.
  • Dwa MLO w tym samym miejscu — Migoczące ściany, podwójne drzwi lub czarne wnętrze zwykle oznaczają dwa zasoby modyfikujące ten sam budynek. Usuń linię ensure jednego z nich i zrestartuj serwer.
  • Błąd o zbyt dużych assetach — Komunikat w konsoli, że asset przekracza limit rozmiaru, prawie zawsze wynika ze zbyt ciężkich plików tekstur .ytd. Użyj zoptymalizowanej wersji albo zmniejsz tekstury (na przykład z 4K do 2K); zbyt ciężkie mapy powodują też długie czasy ładowania i crashe klienta.
  • Błędy skryptów po dodaniu mapy — Sprawdź kolejność w server.cfg: zasób z mapą musi załadować się przed skryptami, które się do niego odwołują.

Gotowe!

Twój serwer streamuje teraz twoje własne MLO i mapy. Nadal coś nie działa? Otwórz ticket przez naszą stronę pomocy i podaj nazwę zasobu oraz dokładny komunikat błędu z konsoli.