Its just another way for the server to communicate to the client. As an example here is a remote call that triggers on the client side (found in client.cs)
function nextWeapon()
{
// Up to the server right now
remoteEval(2048,nextWeapon);
}
And then the server code that handles the call to the remote (found in base item.cs):
function remoteNextWeapon(%client)
{
%item = Player::getMountedItem(%client,$WeaponSlot);
if (%item == -1 || $NextWeapon[%item] == "")
selectValidWeapon(%client);
else {
for (%weapon = $NextWeapon[%item]; %weapon != %item;
%weapon = $NextWeapon[%weapon]) {
if (isSelectableWeapon(%client,%weapon)) {
Player::useItem(%client,%weapon);
// Make sure it mounted (laser may not), or at least
// next in line to be mounted.
if (Player::getMountedItem(%client,$WeaponSlot) == %weapon ||
Player::getNextMountedItem(%client,$WeaponSlot) == %weapon)
break;
}
}
}
}
So you make the call to a function on the client and the server handles that call. Can be done in reverse order also. Tribes comes built with automatic detection on remote functions , simply by adding the word "remote" to the front of the function name. (A couple other functions work like that too, menu functions is one I can think of off the top of my head).
Anyways the point being all your storage data is saved as a string, So basically particle would need to make a remote on his side that you can call from the client to receive that string.