Jump to content

Rcon aktivieren über Plugin?


Empfohlene Beiträge

Hey,
wie schon im Titel gesagt möchte ich versuchen den Rcon-Zugang in der server.properties Datei über mein Plugin zu aktivieren... Außerdem soll das Passwort auch täglich geändert werden. Wie stelle ich das am besten an? Dass das Passwort täglich geändert wird kriege ich hin, wenn ich nur wüsste wie ich die server.properties Datei umschreibe. Weiß jemand einen Weg?

MfG. darklolly

bearbeitet von darklolly0312
Stichworte
Link zu diesem Kommentar
Auf anderen Seiten teilen

Hi,

es ist sicherheitstechnisch nicht vorgestehen, dass ein Plugin Änderungen an der server.properties vornehmen kann.

Ganz davon ab, selbst wenn dies gehen würde, müsstest du dann auch den Server neu starten denn Änderungen an der server.properties werden nur beim Serverstart eingelesen / aktualisiert.

Wenn man nun so weiter denkt, dass der Server sowieso neu gestaret werden muss, dann kann man die Datei auch mit einem externen Tool / Script bearbeiten welches vom Startscript des Servers vor dem Starten des Servers ausgeführt wird.

 

-Yuki

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich habe nur vor die Daten in der server.properties Datei zu ändern. Rcon also enablen, und das passwort setzen, sonst nichts^^ Alles was ich dazu wissen muss/möchte ist wie ich das anstelle. Ich bekomme es nur hin mit YAML zu arbeiten, aber nicht wie ich in einer bestimmten Zeile den Text ändere. Natürlich muss man nach dem ändern den Server neustarten damit es aktiv wird, aber da liegt nicht das Problem. Also hat das Plugin dann sogesehen nichts mit Rcon zu tun, es ändert nur den Text in der server.properties^^

Link zu diesem Kommentar
Auf anderen Seiten teilen

Erstell diese Klasse:
 

import net.minecraft.server.v1_13_R2.DedicatedServer;
import net.minecraft.server.v1_13_R2.MinecraftServer;

@SuppressWarnings("deprecation")
public class Properties {
	
    public static void savePropertiesFile() {
        ((DedicatedServer) MinecraftServer.getServer()).propertyManager.savePropertiesFile();
    }
  
    public static void setServerProperty(String property, Object value) {
        ((DedicatedServer) MinecraftServer.getServer()).propertyManager.setProperty(property, String.valueOf(value));
    }
    
    public static String getServerPropertyValue(String property) {
    	return ((DedicatedServer) MinecraftServer.getServer()).propertyManager.properties.getProperty(property);
    }
    
}

und dann kannst du die Properties während der Laufzeit ändern. 
Es muss KEIN Neustart gemacht werden. jediglich ein reload reicht aus.

Du könntest also folgendes machen:

Properties.setServerProperty("enable-rcon", false);
Properties.setServerProperty("view-distance", 16);
Properties.setServerProperty("pvp", false);
Properties.savePropertiesFile();
		
Bukkit.reload();

Du könntest aber auch (warum auch immer^^) einfach bei jedem aufruf der methode einfach switchen. Toggle ist hier das richtige englische Wort.
Beispiel:

Properties.setServerProperty( "enable-rcon", !Boolean.valueOf(Properties.getServerPropertyValue("enable-rcon")) );
Properties.savePropertiesFile();

Hoffe konnte dir helfen.

LG

bearbeitet von Sören Ganske
  • Like 1
  • Danke 1
Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 2 months later...

Perfekt! Das ist genau was ich gesucht habe... Ja natürlich ist es für einen Server eventuell riskant beispielsweise Rcon damit(oder generell) zu aktivieren, aber das Plugin ist nur zum privaten Nutzen, und das Rcon-Passwort muss man ja sowieso noch herausbekommen^^ Solange ich keine fremden Plugins habe, bin ich da auf der sicheren Seite

Vielen Dank @Svendson :) 

Nachträgliche Anmerkung:
Ich habe gemerkt dass ein Reload "nicht ganz" ausreicht. Die Daten werden gespeichert in der server.properties Datei, aber Sachen wie rcon.passwort und enable-rcon im laufenden Server nicht geupdatet... Motd, enable-command-block etc aber schon. Ist aber in meinem Fall egal ;) 

bearbeitet von darklolly0312
Anmerkung angehangen
Link zu diesem Kommentar
Auf anderen Seiten teilen

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...
B
B