Изучить сетевой стек — сетевая модель OSI. Не обязательно глубоко — но базовые вещи вроде уровней, протоколов надо знать.
Изучить что такое сокеты и как они работают:
реализовать чтение данных из сокета
запись данных в сокет
затем реализовать сокет-сервер и сокет клиент
организовать передачу данных между ними
сделать прием/передачу данных из/в сокета/сокет блокирующую и неблокирующую и понять разницу между ними
реализовать на сервере поддержку коннекта нескольких клиентов
реализовать группу потоков и очереди для чтения/записи в сокеты
Изучить веб-сокеты
Выбрать любую БД, подходящую под ваши критерии (схема данных, нагрузка, логика работы приложения и т.п.) — можно взять любую популярную MySQL, PosgreSQL, Mongo и т.п.
Найти библиотеку для работы БД и пройти туториалы по ней
Подключить библиотеку для работы с БД к сокет/веб-сокет серверу
Реализовать сетевое API вашего сервера (логин клиентом, прием/передача данных и прочее)
Реализовать клиентскую обертку для работы с API сервера