Что посоветуете для написания сервера под мультиплеерную 3d игру на Unity?
Latency:
1. client-side prediction server reconciliation (Main article)
2. client-side prediction (live demo!)
3. Latency Compensating Methods (Valve wiki)
4. www.newspeakblog.com/lag-compensation-techniques-g...Anti-cheat:
1. Anti-cheat (Valve wiki)
2. Hacking in Games (PDF)
Нужно учитывать коридоры возможного перемещения вместе с предельной скоростью, чтобы получить время и сравнить его с допустимым.
Допустимое, определяется через обученную НС на нескольких случайных перемещениях игрока из одной точечной позиции в случайные стороны (и под различными углами, если это 3D) с различными параметрами (грунт, гравитация, прыжок, ходьба/бег и т.д.) между соседними позициями за один игровой кадр ("тик").
И как только игрок набирает N-штрафных баллов (3-5 достаточно) - фиксируется чит. Server (open source):
1. socketo.me (Ratchet - WebSockets for PHP)
2. https://heroiclabs.com/
И как всегда, БОНУС: здесь и почитать.
по нормальному карта должна быть и на серваке, чтобы игроки не могли ходить сквозь стены например. 
еще в данной задаче не очень очевидно с начала, но важно делать предсказание движения противников на клиенте. 
недостаточно просто передавать пересчитанные координаты игроков с сервера, нужно еще делать предпросчет на клиенте, иначе играть будет невозможно, позиция игрока-противника постоянно будет опаздывать. в быстрых играх это не допустимо. 
советую почитать вот этот цикл статей.
https://habr.com/post/302394/