Basically I'm trying to make my Core plugin able to communicate with the same plugin on different servers in my network. I'm wondering how I could pull this off? Querying only seems to let me get data such as player count and version, etc. Would I have to use SQL?
Rule of thumb for concurrency: You don't send data by sharing data. You share data by sending data. If a plugin requires some data from another server, send a message to the other server and let the other server reply with the required information. If a plugin wants to modify some data on another server, send a message to the other server and let the other server modify the data upon the request. SQL is not used for communication. It is for data storage. It is an abuse to use SQL for synchronizing data between servers, and using something in a way it's not designed to would usually result in a lot of trouble.
This has nothing to do with waterdog being a proxy. This is an extra feature of waterdog independent of being a proxy.