- en
- pl
OpenTTD GitHub
Wkład w OpenTTD - wytyczne
OpenTTD Doxygen
Styl kodowania
Kompilowanie OpenTTD
Debugowanie
Dodanie ustawienia
Dodanie funkcji squirrel
Zrozumienie obsługi SaveGame
Wyznaczenie wersji gry zapisanej
Wykonanie wydania OpenTTD
Podręcznik stylu
Format plików lang
Użycie ciągów OpenTTD
Lista ciągów specjalnych
Użycie systemu okna
Kody kolorów istniejących w OpenTTD
Dodawanie pola tekstowego
Zrozumienie widget focus system
Przewodnik stylu GUI
OpenTTD TCP protokół
OpenTTD UDP protokół
Debugowanie desynchronizacji
Rozwój Portu Administratora Serwera
Okno konsoli
Komendy konsoli
Zmienne konsoli
Używanie skryptu konsoli
Dodanie funkcji/komend do konsoli
Dodanie zmiennych do konsoli
Historia rozwoju Konsoli
Grafika i podobne (NewGRFy)
Środowisko AI (NoAI)
Framework GS (NoGO)
Tablica map (siatka pozioma)
Pojazdy
Wyszukiwanie trasy
Przyspieszenie pociągu
Contents |
Open TTD Protokół Sieciowy - TCP
Lista pakietów
Lista pakietów jest uporządkowana w taki sam sposób, jak w definicji wyliczenia znajdującej się w network/core/tcp_game.h
Nazwa Pakietu | Wysłane przez | Funkcja |
---|---|---|
PACKET_SERVER_FULL | Server | W grze sieciowej nie ma już klienta |
PACKET_SERVER_BANNED | Server | Adres IP klienta pojawia się na liście blokad openttd.cfg |
PACKET_CLIENT_JOIN | Client | Klient prosi o dołączenie do gry |
PACKET_SERVER_ERROR | Server | Poinformuj, że klient popełnił błąd |
PACKET_CLIENT_COMPANY_INFO | Client | Klient prosi firmy o informacje |
PACKET_SERVER_COMPANY_INFO | Server | Serwer Wysyła informacje o firmach |
PACKET_SERVER_CLIENT_INFO | Server | Serwer Wysyła informacje o kliencie |
PACKET_SERVER_NEED_PASSWORD | Server | Serwer żąda hasła od klienta |
PACKET_CLIENT_PASSWORD | Client | Klient wysyła hasło |
PACKET_SERVER_WELCOME | Server | Klient jest dołączony i gotowy na przyjęcie swojej mapy |
PACKET_CLIENT_GETMAP | Client | Klient prosi o pobranie mapy |
PACKET_SERVER_WAIT | Server | Serwer ma coś jeszcze do zrobienia, proszę czekać |
PACKET_SERVER_MAP | Server | Serwer wysyła informacje o mapie |
PACKET_CLIENT_MAP_OK | Client | Klient otrzymał mapę |
PACKET_SERVER_JOIN | Server | |
PACKET_SERVER_FRAME | Server | Wysyła bieżący licznik ramek do klienta |
PACKET_SERVER_SYNC | Server | Wysyła sprawdzanie synchronizacji do klienta |
PACKET_CLIENT_ACK | Client | |
PACKET_CLIENT_COMMAND | Client | Klient wysyła DoCommand na serwer |
PACKET_SERVER_COMMAND | Server | Serwer wysyła DoCommand do klienta |
PACKET_CLIENT_CHAT | Client | Klient wysyła informacje na czacie |
PACKET_SERVER_CHAT | Server | Serwer Wysyła pakiet czatu do klienta |
PACKET_CLIENT_SET_PASSWORD | Client | Klient prosi o zmianę hasła |
PACKET_CLIENT_SET_NAME | Client | Klient prosi o zmianę nazwy |
PACKET_CLIENT_QUIT | Client | Klient wychodzi z gry |
PACKET_CLIENT_ERROR | Client | |
PACKET_SERVER_QUIT | Server | Serwer Informuje połączonych klientów, że klient opuścił grę |
PACKET_SERVER_ERROR_QUIT | Server | Server informs that a client made an error and is leaving the game |
PACKET_SERVER_SHUTDOWN | Server | |
PACKET_SERVER_NEWGAME | Server | |
PACKET_SERVER_RCON | Server | Serwer wysyła wyniki komendy zdalnej konsoli |
PACKET_CLIENT_RCON | Client | Klient wysyła polecenie do konsoli |
PACKET_SERVER_CHECK_NEWGRFS | Server | Wysyła informacje o używanych GRF do klienta |
PACKET_CLIENT_NEWGRFS_CHECKED | Client | |
PACKET_SERVER_MOVE | Server | |
PACKET_CLIENT_MOVE | Client | |
PACKET_SERVER_COMPANY_UPDATE | Server | Ten pakiet informuje klienta o hasłach firm |
PACKET_SERVER_CONFIG_UPDATE | Server | |
PACKET_END | None | Ten pakiet jest ostatnim w enum |
Format pakietu
Pakiety wysłane przez serwer
-
PACKET_SERVER_CLIENT_INFO
- uint32 Client Id
- uint8 Client PlayAs
- str Client Name
-
PACKET_SERVER_COMPANY_INFO
- uint8 Network Company Info Version
- bool More Data ?
- uint8 Company Id
- str Company Name
- uint32 Inaugurated Year
- uint64 Company Value
- uint64 Money
- uint64 Income
- uint16 Performance
- bool Password Protected
- uint16[] Number of Vehicle per Type
- uint16[] Number of Station per Type
- str[] Client Name List
-
PACKET_SERVER_ERROR
- uint8 Error Id (network_data.h)
-
PACKET_SERVER_CHECK_NEWGRFS
- uint8 NewGrf Count
- For Each Grf
- uint32 Grf ID
- uint8[16] Grf MD5 hash
-
PACKET_SERVER_NEED_PASSWORD
- uint8 Password Type
- uint32 Generation Seed
- str Network Id
-
PACKET_SERVER_WELCOME
- uint32 Client Id
- uint32 Generation Seed
- str Network Id
-
PACKET_SERVER_WAIT
- uint8 Client Count waiting
-
PACKET_SERVER_MAP
-
uint8 Packet Map Type
-
MAP_PACKET_START
- uint32 Frame Counter
- uint32 Map Size
-
MAP_PACKET_NORMAL
- [] Map information
-
MAP_END
- nothing
-
MAP_PACKET_START
-
uint8 Packet Map Type
-
PACKET_SERVER_JOIN
- uint32 Client Id
-
PACKET_SERVER_FRAME
- uint32 Frame Counter
- uint32 Frame Counter Max
-
PACKET_SERVER_SYNC
- uint32 Frame Counter
- uint32 General Seed 1
-
PACKET_SERVER_COMMAND
- uint8 Company Id
- uint32 Command Id (command.h)
- uint32 p1
- uint32 p2
- uint32 Tile
- str Text
- uint8 Call Back Id (callback_table.c)
- uint32 Frame Number
-
PACKET_SERVER_CHAT
- uint8 Action Id (network_date.h)
- uint32 Client Id
- str Message
- uint64 Arbitrary Data
-
PACKET_SERVER_ERROR_QUIT
- uint32 Client Id
- uint8 Error Id (network_data.h - NetworkErrorCode)
-
PACKET_SERVER_QUIT
- uint32 Client Id
-
PACKET_SERVER_SHUTDOWN
- nothing
-
PACKET_SERVER_NEWGAME
- nothing
-
PACKET_SERVER_RCON
- uint16 Colour
- str Text
-
PACKET_SERVER_MOVE
- uint32 Client Id
- uint8 Company Id
-
PACKET_SERVER_COMPANY_UPDATE
- uint16 Network Company Passworded
-
PACKET_SERVER_CONFIG_UPDATE
- uint8 Max Companies
- uint8 Max Spectators
Pakiety klienckie
-
PACKET_CLIENT_COMPANY_INFO
- nothing
-
PACKET_CLIENT_JOIN
- str OpenTTD Revision (norev000 if no revision)
- str Client Name (max NETWORK_NAME_LENGTH)
- uint8 Play as Company id (1..MAX_COMPANIES)
- uint8 Language ID
- str Unique id to find the client back in server-listing
-
PACKET_CLIENT_NEWGRFS_CHECKED
- nothing
-
PACKET_CLIENT_PASSWORD
- uint8 NetworkPasswordType
- str Password
-
PACKET_CLIENT_GETMAP
- nothing
-
PACKET_CLIENT_MAP_OK
- nothing
-
PACKET_CLIENT_ACK
- uint32 current FrameCounter of the client
-
PACKET_CLIENT_COMMAND
- uint8 CompanyID (0..MAX_COMPANIES-1)
- uint32 CommandID (see command.h)
- uint32 P1 (free variables used in DoCommand)
- uint32 P2
- uint32 Tile
- str text
- uint8 CallBackID (see callback_table.c)
-
PACKET_CLIENT_CHAT
- uint8 ActionID (see network_data.h, NetworkAction)
- uint8 Destination Type (see network_data.h, DestType);
- uint32 Destination CompanyID/Client-identifier
- str Message (max NETWORK_CHAT_LENGTH)
- uint64 Some arbitrary number
-
PACKET_CLIENT_ERROR
- uint8 ErrorID (see network_data.h, NetworkErrorCode)
-
PACKET_CLIENT_SET_PASSWORD
- str Password
-
PACKET_CLIENT_SET_NAME
- str Name
-
PACKET_CLIENT_QUIT
- nothing
-
PACKET_CLIENT_RCON
- str Password
- str command
-
PACKET_CLIENT_MOVE
- uint8 Company Id
- str Password
Enumerate informacje firmy
Ten krok jest używany przez GUI w celu wyliczenia informacji o firmie przed połączeniem z serwerem
Client | Server |
---|---|
PACKET_CLIENT_COMPANY_INFO | |
PACKET_SERVER_COMPANY_INFO |
Łączenie z serwerem
Jest to prosty przykład tego, co jest wysyłane między klientem a serwerem podczas dołączania do gry.
Client | Server |
---|---|
PACKET_CLIENT_JOIN | |
PACKET_SERVER_CHECK_NEWGRFS | |
PACKET_CLIENT_NEWGRFS_CHECKED | |
PACKET_SERVER_WELCOME | |
PACKET_CLIENT_GETMAP | |
PACKET_SERVER_MAP (multiple) | |
PACKET_CLIENT_MAP_OK | |
PACKET_SERVER_FRAME | |
PACKET_CLIENT_ACK | |
PACKET_SERVER_SYNC | |
PACKET_SERVER_CLIENT_INFO | |
PACKET_SERVER_JOIN | |
PACKET_SERVER_CONFIG_UPDATE | |
PACKET_SERVER_COMPANY_UPDATE |