Simple timer checking class
This check  


if ((DateTime.Now - _lastUpdate).TotalMilliseconds &lt;= _timerInterval )
{
    return;
}  



is superflous, because the timer fires at a defined interval. 



Does the ServerName change over the time the application is running ? I guess not so it would be better to request the name once and store it for later usage.  

The same applies to ServerStarted.



Personally I would create an extension method for the TimeSpan which would do the whole work with the day(s), hour(s) and minute(s). Something along these lines  

public static string ToWords(this TimeSpan timeSpan)
{
    return  timeSpan.Days + (timeSpan.Days != 1 ? " days" : " day") + ", "
          + timeSpan.Hours  + (timeSpan.Hours != 1 ? " hours" : " hour") + ", and "
          + timeSpan.Minutes  + (timeSpan.Minutes != 1 ? " minutes" : " minute");
}


and calling like so  

var uptimeString = serverUptime.ToWords();  


Disclaimer: I don't like the name of the method.