The simplest (already classic) way of “replication” is to create two replicated arrays (for keys and values) and change them through special functions that will be similar to TMap.
I read somewhere (or maybe I’m confusing something) that TMap is difficult (impossible) to replicate, because it is cached internally and each time (including for each client) differently, so you can’t just take and transfer a new value over the network.