There is no concept of "reference" in protobuf.
Therefore the sanest way to do it would be to:
message Player { required string handle = 1; repeated string neighborHandles = 2; };
Usually you would then convert them to C++ references when you are done deserializing.