Mir scheint, dir sind die technischen Zusammenhänge noch nicht klar. Eine Datenbank baut keine Verbindung zu einem anderen System auf, sondern dient nur zum Abspeichern von Daten (Informationen).
Die konkrete Architektur für dein System kann ich aus der Ferne schlecht beurteilen. Du brauchst auf jeden Fall ein Programm, welches dauerhaft auf dem Server läuft (egal ob direkt unter Raspbian [falls dieses Mono unterstützt] oder eben in einer virtuellen Maschine). Dieses Programm kommuniziert einerseits dann mit den Clients (mittels TCP/IP) und zum anderen dann mit einer Datenbank (ob diese lokal oder auf einem anderen Server liegt wäre dabei technisch egal). Für den Anfang könntest du auch ohne Datenbank auskommen und die Infos ersteinmal im Speicher oder einer Text- bzw. XML-Datei ablegen.
Für den Anfang lies dir mal die Tutorials aus unserer C#-Library dazu durch:
TcpClient: Asynchrones und Synchrones verbinden
TcpListener: Asynchrones und Synchrones verbinden
sowie für einfaches XML-Serialisieren
Mit XmlSerializer Objekte als XML speichern und laden