Официальный сайт (на английском)
ENet - это сетевая библиотека, реализующая поверх UDP лёгкий и в то же время мощный протокол с ленивой гарантией доставки (т.е. пакет будет доставлен, но без использования всяких ресурсоёмких методик адаптации к условиям сети) и множеством других полезных функций. Данный протокол идеально подходит для realtime-игр, в которых скорость отсылки данных в сетевой игре важнее гарантии их доставки, однако сама она в некоторых случаях необходима - это обусловлено тем, что ENet сам изначально создавался для небезызвестной Cube. Стоит заметить, что несмотря на свою игровую направленность, этот протокол можно с не меньшим успехом использовать и в других сферах деятельности.
Так чем же так хорош ENet? Что ж, приведу краткий список:
- Собственная система сокетов, аналогичная стандарту сокетов Беркли.
- Возможность опциональной отправки пакетов как с гарантией доставки, так и без неё, причём в рамках одного и того же сокета.
- Порядок пакетов соблюдается принимающей стороной вне зависимости от гарантии их доставки (т.е. если опоздал гарантированный пакет, то он будет ожидаться, в противном же случае он будет забыт и в случае прибытия просто отброшен, не тормозя таким образом приём). Однако также присутствует возможность отправлять пакеты вне последовательности без гарантии её соблюдения.
- Возможность канальной отсылки пакетов (один канал - одна соблюдаемая последовательность) и их мультиплексирование в рамках одного и того же сокета.
- Поддержка Windows и Unix.
- Ну и в конце концов, эта библиотека обеспечивает действительно БЫСТРУЮ и СТАБИЛЬНУЮ сеть при грамотном её использовании, в котором она весьма проста при сохранении широты возможностей.
Более полный и подробный список можно прочитать на официальном сайте.
Там же можно ознакомиться с обучающими примерами использования.
В этой теме представлены заголовочные файлы для использования этой библиотеки в FreePascal.
В рамках создания мультиплеера в Doom 2D: Forever я транслировал заголовочные файлы ENet с Си на Delphi 7 (кому интересно, вот ссылка на них). Однако вскоре коллективом разработчиков было принято решение по возможности как можно быстрее заняться разработкой проекта с нуля на FreePascal дабы избавиться от большого количества старого, плохо поддерживаемого и местами довольно-таки кривого кода. Для этого я адаптировал заголовочные файлы для Delphi 7 под FreePascal с использованием его возможностей. И заодно решил поделиться ими с потенциально заинтересованными в этой библиотеке людьми, то есть вами.

Как по мне, ENet незаслуженно малоизвестен среди русских разработчиков, поэтому я надеюсь, что так или иначе поспособствую выправлению этой несправедливости.
Что ж, желаю удачного использования!
Вот ссылка: https://github.com/cher-nov/enet-fpc
Любые отзывы и критика также приветствуются.)