Czas wykonywania klient-serwer

*Ta zawartość została przetłumaczona przy użyciu narzędzi AI (w wersji beta) i może zawierać błędy. Aby wyświetlić tę stronę w języku angielskim, kliknij tutaj.

Serwer

Doświadczenia Roblox są domyślnie wieloosobowe i uruchamiane w modelu klient-serwer.Serwer Roblox jest ostateczną władzą do utrzymywania stanu doświadczenia i jest odpowiedzialny za utrzymywanie wszystkich połączonych klientów w zgodności z serwerem.

A server grouping with connections to three client devices.
Serwer z połączeniami do trzech urządzeń klienta

Klienci

Kiedy doświadczenie jest uruchamiane, Roblox kopiuje wersję modelu danych „edytuj”, który stworzyłeś i opublikowałeś z Studio i uruchamia ją na serwerach Roblox jako model danych „czasu wykonania”.

Połączone klienty otrzymują również kopię modelu danych wykonawczych i każda inicjalizacja gracza (wyposażenie) lub lokalnego interfejsu użytkownika występuje, tak jak inicjalizacja plecaka gracza (inwentarz) lub lokalnego interfejsu użytkownika.Kiedy doświadczenie ma ustawione na prawdę Workspace.StreamingEnabled, serwer początkowo wysyła tylko podzbiór treści pod Workspace, który jest najbliższy klientowi.Klient następnie renderuje świat 3D i zaczyna uruchamiać odpowiednie skrypty.

A diagram that maps objects between 'edit' and 'runtime' data models.

Replikacja

Serwer stale aktualizuje połączone klienty, utrzymując wszystko w zgodności na całym serwerze i klientach za pomocą procesu o nazwie replikacja , który synchronizuje model danych, symulację fizyczną i wiadomości czatu.Logika replikacji istnieje zarówno na klientzie, jak i na serwerze, aby zapewnić synchronizację.

Dane

Zmiany modelu danych mogą wystąpić w różnych przypadkach, takich jak gdy coś w świecie 3D zostanie utworzone lub zmieni się właściwość świata 3D.Zazwyczaj zdarza się to, gdy skrypt na serwerze lub klientzie dokonuje zmiany, która musi być odzwierciedlona po drugiej stronie granicy klienta-serwera.Poniższe diagramy pokazują powszechne scenariusze replikacji danych.

KlientSerwer >
>

>

A diagram of one client communicating with the server.

Komunikacja z dowolnego klienta do serwera.Na przykład klient naciska klawisz P , aby wypić miksturę niewidzialności i powiedzieć serwerowi, aby postać tego gracza stała się niewidzialna dla wszystkich innych graczy.

SerwerKlient >
>

>

A diagram of the server communicating with one client.

Komunikacja z serwera do jednego konkretnego klienta.Na przykład gracz dołącza do doświadczenia, a serwer wypełnia ekwipunek tego gracza zestawem przedmiotów.

SerwerWszystkie klienty >
>

>

A diagram of the server communicating with all connected clients.

Komunikacja między serwerem a wszystkimi połączonymi klientami.Na przykład wyświetlanie timera odliczania dla wszystkich uczestników w wyścigu.

Fizyka

Roblox wykorzystuje silnik fizyki ciała sztywnego, który jest odpowiedzialny za obliczanie ruchu i interakcji części w świecie 3D.Domyślnie wszystkie części w Roblox są sztywnymi ciałami i biorą udział w symulowanej fizyce, chyba że inaczej zaznaczono.Możesz również połączyć wiele części w zespoły, które silnik fizyczny traktuje jako pojedyncze sztywne ciało.


A single block part in the shape of a cube that represents a single assembly.
1 złożenie; 1 część
A player character that represents a single assembly of 18 individual parts.
1 złożenie; 18 części
A pirate ship mesh that represents a single assembly of 179 individual parts.
1 złożenie; 179 części

Roblox replikuje dane symulacji fizyki między serwerem a klientami, gdy jest to konieczne.Aby pomóc w poprawie wydajności wykonywanie, Roblox może przypisać własność zespołów do określonego klienta lub serwera.Oznacza to, że klient lub serwer może być odpowiedzialny za symulację fizyki tej konstrukcji.Inne klienty otrzymują aktualizacje o pozycji i ruchu zbiórki od właścicielskiego klienta lub serwera.Własność zwykle zdarza się automatycznie, ale możesz przypisać ją bezpośrednio dla dostosowanej reakcji.

Własność części wskazana za pomocą kolorowych obrysów

Czat

Roblox replikuje wiadomości czatu między serwerem a klientem.Serwer jest odpowiedzialny za filtrowanie wiadomości czatu i decydowanie, które wiadomości należy powielić do innych klientów.Na przykład serwer może wyfiltrować wiadomości zawierające wulgaryzmy lub są zbyt długie.