How to create login server and matchmaking lobby?

I have 1-year of experience with ue4 using c++ with a multiplayer system (RPC and Replication), but now I’ve encountered a problem.
I have multiplayer and company parts in a game. The company includes missions and resource farming, so I have to create a login server where to store data about player’s progress. The tricky thing there is the player may not have a network connection and still be able to play company, then cheating may take place. How to allow players play company without an internet connection and don’t let them cheating?
The second trick here is How to create a matchmaking lobby (like in Battlefield), where everyone can create a lobby and invite friends to start the game?