Action RPG Inventory System

In the Action RPG Inventory System demo player controller this is already setup to address those issues. I am not sure what is different in your project without being able to see it myself.
You said everything works fine when you play in editor with dedicated server checked, so I’m not sure why you would need to make any code changes in your project to get things to work with your projects dedicated server.

You shouldn’t need to set the PlayerInventory to replicate because of how Unreal works. The client and the server will both run the initialization code.
But since you have your own setup for initializing your player controller you need to make sure the server version is setting the PlayerInventory when it inits the InventoryManagerComponent.

If you look at the Demo init function you can see what gets called by the server/client and what gets called by the client only in this screenshot.

But none of this explains why it works normally, but not with your projects dedicated server.