Questions regarding multiplayer (Steamworks etc).

I am already experienced in making games with Unity but since I decided to finally make a 3D game, I figured that moving to the Unreal Engine would be the right step.

Ive already made a basic concept of the game and now im trying to figure out what Multiplayer Provider to use.
It will be a realtime base defense, first person shooter game with 1-4 players per session/game.
Saving the permanent data like Level, or any ingame currency will probably be saved with GameSparks.

The first thing I found was the Steamworks SDK and I have some questions regarding that:

  1. How save is that? Can the players easily manipulate variables or send fake packages to GameSparks in order to change their currencies for example?

I dont really care about cheats like wallhack or aimhack since it just a base defense with 1-3 other players against ai and no competitive game where you compete against others.
But what I do care about is that the player cant access the variables (Ingame currencies, cosmetics etc).

  1. What is the pricing for using the Steam-Servers?

What Multiplayer Providers can you recommend me that you think would fit the concept mentioned above?