In the process of diagnosing a plugin issue, I may have accidentally discovered how to detect which server you're logged into.
It seems that each server has its own "game timer" (the value returned by Turbine.Engine.GetGameTime()) which is significantly different from every other server. If you subtract the "game time" from the "local time" (which is the same for all servers) using the expression (Turbine.Engine.GetLocalTime() - Turbine.Engine.GetGameTime()), you get a pretty stable value for each server, that only varies by ±1 second or so:
Server local time - game time Gladden 1178127221 Landroval 1178132198 Brandywine 1178171801 Arkenstone 1178716300 Sirannon 1180187358 Laurelin 1180230289 Evernight 1180278158 Belegaer 1180348254 Crickhollow 1283960584 Gwaihir 1286462731
The only question is whether these numbers remain valid after server resets and game updates. I'll recheck them then and report the results here. If the numbers stay the same, it will be trivial to implement a Turbine.Engine.GetServerName() function.
Note that "local time" seems to be a misnomer; the value seems to be independent of timezone. Which makes it handy for this purpose.