/// @file platform/platform.h
// ...
// lookup include directories.
#if( BUILD_PLATFORM_WINDOWS_DESKTOP )
#include <platform.windows/platform.windows.h>
#elif( BUILD_PLATFORM_ANDROID )
#include <platform.windows/platform.android.h>
#else
#error Unknown platform.
#endif
// lookup local 'platform' directory.
#include "File.h"
// ...
/// @file platform.windows/platform.windows.h
// ...
// lookup local 'platform.windows' directory.
#include "PlatformSpecificFile.h"
// ...
/// @file somewhere/in/your/api/file.h
// ...
#include <platform/platform/h>
// ...
File my_file{ file_name, OpeningMode::CreateAlways, AccessOptions::Read, SharingOptions::Read };
// ...
2КБ/сек - это нисколько даже на одного игрока. Точные данные для примера - клиент RO получал около 1МБ трафика в час, т.е. порядка 17КБ в секунду. И это был крайне экономичный протокол. Сейчас есть куда прожорливее примеры.
Для сервера хорошо подходит C#, особенно если умеешь конкурентность и параллелизм. Если знаком с микроядерной архитектурой и архитектурой сервисов/микросервисов, то на C# вполне получится создать горизонтально расширяемый сервер с поддержкой сотен тысяч пользователей в онлайне. Разработка на C# значительно быстрее чем на C/C++, а номинальная надежность кода значительно выше чем в C/C++. Быстродействие достигается горизонтальным расширением и параллелизмом, чего в C# добиться значительно проще чем во все тех же C/C++.
C/C++ - это инструмент для совсем других целей.