From a03a4ff1961192362f52c91beabf6aaa9319ce77 Mon Sep 17 00:00:00 2001 From: Ferenc Schulcz <schulcz.ferenc@gmail.com> Date: Tue, 2 Jul 2024 13:34:19 +0200 Subject: [PATCH] Same username and playername when adding new user in MC admin --- service_plugins/minecraft_admin.py | 21 ++++++++++++++++++++- templates/plugins/minecraft_admin.html | 6 +++--- 2 files changed, 23 insertions(+), 4 deletions(-) diff --git a/service_plugins/minecraft_admin.py b/service_plugins/minecraft_admin.py index 368ec8c..f401303 100644 --- a/service_plugins/minecraft_admin.py +++ b/service_plugins/minecraft_admin.py @@ -99,7 +99,18 @@ def mcadd(**kwargs): password = request.form['password'] if db.users.find_one({'username': username}) != None: return rqtools.get_400(None, errormsg='User already exists!') - db.createBasicUser(username, password) + if player_exists(username): + return rqtools.get_400(None, errormsg="This player is already registered by someone.") + db.mc_users.insert_one( + {'username': username, 'mcuser': username}) + with Client('127.0.0.1', 25575, passwd='nagy0nmen0rc0n') as mcclient: + response = mcclient.run('authme', 'register', + username, password) + if response != "": + db.mc_users.delete_one( + filter={'username': username, 'mcuser': username}) + return rqtools.get_400(None, errormsg="Unsuccessful operation. Maybe the password was too weak or it contained your username?") + db.createBasicUser(username, password, registeredby=session['username']) db.sendMessage(session['username'], username + " added successfully.") return rqtools.redirect(rqtools.url_for('service', servicename='mcadmin')) @@ -116,3 +127,11 @@ def mcrestart(**kwargs): os.system('sudo /usr/bin/systemctl restart minecraft-spigotd.service') db.sendMessage(session['username'], 'Server is restarting.') return rqtools.redirect(rqtools.url_for('service', servicename='mcadmin')) + +def player_exists(name): + x = db.mc_users.find_one( + filter={'mcuser': name} + ) + if x is None: + return False + return True diff --git a/templates/plugins/minecraft_admin.html b/templates/plugins/minecraft_admin.html index 380b22b..e307eb6 100644 --- a/templates/plugins/minecraft_admin.html +++ b/templates/plugins/minecraft_admin.html @@ -50,11 +50,11 @@ <h2>Add new user</h2> <form method="post" , action="{{ url_for('service', servicename='mcadd') }}" style="max-width: 100%;"> <section class="inputfield"> - <label for="username">Username (website only)</label> + <label for="username">Minecraft name</label> <input name="username" id="username" required> </section> <section class="inputfield"> - <label for="password">Password (website only)</label> + <label for="password">New password</label> <input type="password" name="password" id="password" required> </section> <section class="inputfield"> @@ -64,4 +64,4 @@ </div> -{% endblock %} \ No newline at end of file +{% endblock %} -- GitLab