Windows Server 2016 Programm von extern starten/beenden

B

Borol

Gast
Hallo CB-Community!

Ich habe diese Woche einen Server in meinem eigenen Netzwerk aufgesetzt.

Vorab: bitte keine Belehrungen zu Sicherheit und co, berufsbedingt arbeite ich täglich mit Servern ;)

Dennoch habe ich eine Anforderung, die mir im Berufsalltag noch nicht begegnet ist.

Ich werde diesen Server für verschiedene Applikationen nutzen. Ebenfalls sollen auch diverse Game-Server drauf laufen.
Zu diesem Zweck habe ich eine Website aufgesetzt, auf der bisher diverse Informationen für Freunde und Bekannte aufgeführt sind, die mit den verschiedenen Applikationen arbeiten sollen.

Nun würde ich aber gerne - wenn möglich über eben diese Website (gehostet auf selbigem Server) - die verschiedenen Game-Server starten und beenden können.
Dies soll aus dem Grund passieren als dass die Hardware des Servers sehr limitiert ist und diese Anwendungen nicht 24/7 laufen und somit Ressourcen für andere Anwendungen blockieren sollen.

Also: Wunsch Szenario: Einloggen auf der Website, 'klick' auf 'Server-XYZ starten' und Anwendung auf dem Server startet. Anschließend 'klick' auf 'Server-XYZ beenden' und Anwendung schließt.
Ebenfalls denkbar, falls im Netz zu finden: Server-Applikation mit Client, aus dem heraus man die Anwendungen starten und beenden kann.

Ich weiß nicht ob das der richtige Thread im Forum ist, falls nicht bitte ich um entschuldigung.


Gruß,
Borol
 
Hallo Borol,

wie einfach man eine Lösung für dieses Problem findet, hängt stark davon ab, wie die Anwendungen gestartet werden sollen. Einen Windows-Service könnte man relativ einfach über eine selbst programmierte ASP.NET Core, PHP, etc. Website starten und stoppen. Wenn die Anwendungen aber eine Benutzeroberfläche haben und vor dem Beenden eine Bestätigung einfordern, werden klassische Lösungen an ihre Grenzen stoßen. Im Netz wirst du dazu ziemlich sicher nichts mehr finden.

Die konkrete Umsetzung hängt aber sehr stark von den zu verwaltenden Anwendungen ab. Weitere Informationen dazu wären daher sehr wichtig.

Danitechnik
 
Hallo Danitechnik,

danke schon mal für die Antwort, ich dachte ich bin mit meiner Anfrage vollkommen fehl am Platz ;)

Um meine Anforderung etwas zu konkretisieren:

Ich möchte nicht lediglich Dienste starten wie man es von "normalen" Server-Anwendungen kennt, diese Dienste können und werden dauerhaft laufen. Mir geht es geziehlt darum Anwendungen über eine *.exe zu starten.

Beispiel: CS:GO Server. Normaler Prozess: *.exe mit hinterlegten Startparametern öffnen. Eingabeaufforderung geht auf und richtet den Server anhand der Parameter soweit ein, dass man sich im Spiel mit dem Server verbinden kann und die restlichen, situationsabhängigen Parameter einstellen kann. Hat man genug und sich vom Server disconnected beendet man entweder die Eingabeaufforderung auf dem Server oder tippt in selbige "quit" ein - das macht aber keinen Unterschied.

Jetzt suche ich nach einer Lösung, diese *.exe remote zu starten und zu beenden; entweder via Webserver (welcher auf dem Server laufen wird) oder über eine Bereits existierende Anwendung, bei der die "Administratoren" eine Client-Komponente auf ihren Rechnern installieren und dort die vorkonfigurierten Anwendungen starten und beenden können.


Ich hoffe meine Anforderung ist etwas klarer geworden und dass wir im Forum gemeinsam zu einer praktikablen Lösung kommen!

Beste Grüße aus Solingen,

Borol
 
Hallo Borol,

eine Kommandozeilenanwendung lässt sich relativ gut remote verwalten.

Die einfachste Lösung hierfür wäre SSH. Auf dem Server würdest du für die Gameserver einen eigenen Benutzer anlegen und für diesen einen SSH-Server einrichten. Deine Bekannten und Freunde könnten dann mit PuTTY oder OpenSSH den Server starten. Mit einer Verknüpfung im Stammverzeichnis, die bereits die richtigen Startparameter enthält, ist das kinderleicht möglich. Die Absicherung ist dabei relativ einfach.
Es gibt aber auch zwei Nachteile:
1. Man sieht nicht so einfach, ob der Server schon läuft.
2. Wenn der SSH Client die Verbindung verliert, stürzt der Server ab.

Die komplizierte und elegantere Lösung wäre eine Website, so wie du sie dir vorgestellt hast. Das ist aber etwas Programmieraufwand und deutlich schwieriger zu konfigurieren. Dafür könnte man direkt sehen, welche Server gerade laufen. Außerdem wäre es einfacher zu benutzen. Einziger Nachteil ist, dass man abgesehen von Start und Stopp am Server nichts machen kann, also keine weiteren Befehle ausführen. Das wäre zwar umsetzbar, aber sehr kompliziert.

Wenn du selbst eine Website entwickeln willst, kann ich dir hier bei Fragen gerne helfen.

Viele Grüße

Danitechnik
 
Remote PowerShell, ist auf dem Server vorhanden, müsste halt eingerichtet werden. Starten kannst du darüber praktisch alles...die hinterlegten Parameter könntest du über eine Batch die du remote aufrufst abrufen. Abfragen ob der Prozess läuft würde auch gehen nur halt eine "Zustandsanzeige" hast du in der form nicht...

grundsätzlich kann man die meisten *.exe Dateien auch als dienst einrichten und die so starten, diverse fertige webfrontends gäbe es, MS eigenes Windows Admin Center könnte man auch dazu missbrauchen
 
Zurück
Oben