Server Admin Port Development
Dokumentacja programistyczna OpenTTD
Linki zewnętrzne

OpenTTD GitHub
Wkład w OpenTTD - wytyczne
OpenTTD Doxygen

Informacje Ogólne

Styl kodowania
Kompilowanie OpenTTD
Debugowanie
Dodanie ustawienia
Dodanie funkcji squirrel
Zrozumienie obsługi SaveGame
Wyznaczenie wersji gry zapisanej
Wykonanie wydania OpenTTD

Języki i Ciągi znaków

Podręcznik stylu
Format plików lang
Użycie ciągów OpenTTD
Lista ciągów specjalnych

System Okna

Użycie systemu okna
Kody kolorów istniejących w OpenTTD
Dodawanie pola tekstowego
Zrozumienie widget focus system
Przewodnik stylu GUI

Tryb wieloosobowy

OpenTTD TCP protokół
OpenTTD UDP protokół
Debugowanie desynchronizacji
Rozwój Portu Administratora Serwera

Konsola (w grze)

Okno konsoli
Komendy konsoli
Zmienne konsoli
Używanie skryptu konsoli
Dodanie funkcji/komend do konsoli
Dodanie zmiennych do konsoli
Historia rozwoju Konsoli

Interfejsy API (ramy modowania)

Grafika i podobne (NewGRFy)
Środowisko AI (NoAI)
Framework GS (NoGO)

Inne odniesienia

Tablica map (siatka pozioma)
Pojazdy
Wyszukiwanie trasy
Przyspieszenie pociągu

Contents

Przegląd

Do portu administratora serwera można podłączyć się z dowolnego języka programowania obsługującego gniazda. Dokumentacja zawarta na tej stronie ma na celu pomóc w rozpoczęciu tworzenia klienta (lub biblioteki).

Dokumenty OpenTTD GitHub zawierają przewodnik po OpenTTD's admin network.

Biblioteki

  1. JOAN to przykład napisany w Javie, który może zrobić prawie wszystko, co oferuje Port Administratora.
  2. COAN jest przykładem napisanym w języku C#, który jest bardziej ograniczony w swoich możliwościach, ale wciąż oferuje podstawy.

Oba te projekty są typu open source, więc mogą swobodnie korzystać z niego każdy, kto chce napisać własnego klienta dla portu administratora serwera OpenTTD.
(Dodaj własną do tej listy, jeśli są one dostępne bezpłatnie i/lub Open Source)

Podstawy

Aby móc połączyć się z portem administratora na serwerze, musisz zrobić kilka rzeczy.

  1. Będziesz musiał ustawić server_admin_port w Openttd.cfg. Może to być gdzieś pomiędzy 0-65535, ale *NIE* musi być używane przez inne programy
  2. Musisz także upewnić się, że ustawiłeś Admin password (en)
    • Jest to bardzo ważne, ponieważ jeśli nie ustawisz hasła administratora, OpenTTD *NIE* uruchomi nasłuchiwania dla portu administratora

Łączenie z portem administracyjnym

Po skonfigurowaniu powyższych podstaw możesz teraz połączyć się.
Na tym etapie możesz utworzyć własną bibliotekę, jeśli nie ma jeszcze jednego wybranego języka lub możesz użyć jednej z istniejących bibliotek (patrz biblioteki powyżej).
JOAN zawiera przykład w postaci SimpleConsole, która rozszerza klasę OpenTTD. Podczas gdy COAN ma bardzo ograniczoną aplikację WinForms do zabawy.

Tworzenie własnego

Połączenie z portem administratora wymaga wysłania pakietu ADMIN_PACKET_ADMIN_JOIN na serwer.

Pakiety

Oczekuje się, że format pakietów wysyłanych do Portu Admin.:
SIZE | TYPE | DATA
Gdy chcesz się połączyć, twój pakiet będzie podobny: 0x1B 0x00 + 0x00 + "password" + 0x00 + "botname" + 0x00 + "version" + 0x00

Pole Rozmiar
Size 2 bajty
type 1 bajt
Przykładowe dane
"password" 9 bajtów
"botname" 8 bajtów
"version" 7 bytów
Total Size 27 Bajtów (0x1B)

Bardzo ważne jest, aby pamiętać o dodaniu pakietu do rozmiaru pakietu (pamiętaj, że +2 dla bajtów rozmiaru pakietu). W powyższym przykładzie ładunek (typ i dane to 25 bajtów. +2 dla rozmiaru pakietu oznacza 27)