diff --git a/Admin/Templates/addUsers.tpl b/Admin/Templates/addUsers.tpl
new file mode 100644
index 00000000..9ec415bf
--- /dev/null
+++ b/Admin/Templates/addUsers.tpl
@@ -0,0 +1,110 @@
+
+
+
diff --git a/Admin/admin.php b/Admin/admin.php
index 7c125f6f..9e91129e 100644
--- a/Admin/admin.php
+++ b/Admin/admin.php
@@ -6,7 +6,7 @@
## Developed by: Dzoki ##
## Reworked: aggenkeech ##
## License: TravianX Project ##
-## Copyright: TravianX (c) 2010-2012. All rights reserved. ##
+## Copyright: TravianX (c) 2010-2014. All rights reserved. ##
## ##
#################################################################################
@@ -135,6 +135,9 @@ $up_avl = $latest - $ver ;
Give All Res Bonus
Reset Res Bonus
+ Users
+ Create Users
+
Natars
Add WW Villages
Add WW Building Plan Villages
diff --git a/GameEngine/Admin/Mods/addUsers.php b/GameEngine/Admin/Mods/addUsers.php
new file mode 100644
index 00000000..bb94697b
--- /dev/null
+++ b/GameEngine/Admin/Mods/addUsers.php
@@ -0,0 +1,113 @@
+ 20)
+{
+ // Might be needed if older browers don't respect form maxlength
+ header("Location: ../../../Admin/admin.php?p=addUsers&e=BN2L&bn=$baseName&am=$amount");
+}
+elseif ($amount < 1)
+{
+ header("Location: ../../../Admin/admin.php?p=addUsers&e=AMLO&bn=$baseName&am=$amount");
+}
+elseif ($amount > 200) // TODO: Make this a config variable?
+{
+ header("Location: ../../../Admin/admin.php?p=addUsers&e=AMHI&bn=$baseName&am=$amount");
+}
+else
+{
+ // Looks OK, let's go for it
+ $created = 0;
+ $skipped = 0;
+ for ($i= 1; $i <= $amount; $i++)
+ {
+ $userName = $baseName . $i;
+ // Random passwords disallow admin logging in to use the accounts
+ $password = $generator->generateRandStr(20);
+
+ // Leaving the line below but commented out - could be used to
+ // allow admin to log in to the generated accounts and play them
+ // Easily guessed by players so should only be used for testing
+ //$password = $baseName . $i . 'PASS';
+
+ $email = $baseName . $i . '@example.com';
+ $tribe = rand(1, 3);
+ // Create in a random quad
+ $kid = rand(1,4);
+ // Dont need to activate, not 100% sure we need to initialise $act
+ $act = "";
+
+ // Check username not already registered
+ if($database->checkExist($userName,0))
+ {
+ // Name already used, do nothing except update $skipped
+ $skipped ++;
+ }
+ else
+ {
+ // Register them and build the village
+ $uid = $database->register($userName, md5($password), $email, $tribe ,$act);
+ if($uid)
+ {
+ /*
+ * @TODO
+ *
+ * Make beginners protection optional for Users created
+ *
+ * Allow option to create (random) bigger villages,
+ * upgrade fields, granary, warehouse, wall etc
+ *
+ * Allow option to create (random) troops in some villages
+ *
+ * Don't directly access the DB, create a $database function
+ * where required
+ */
+
+ // Show beginners protection in User Profile - see TODOs
+ // Need a $database function for this
+ // (assuming we don't already have one as creating Natars also updates this way)
+ $q = "UPDATE " . TB_PREFIX . "users SET desc2 = '[#0]' WHERE id = $uid";
+ mysql_query($q) or die(mysql_error());
+
+ $database->updateUserField($uid,"act","",1);
+ $wid = $database->generateBase($kid,0);
+ $database->setFieldTaken($wid);
+ $database->addVillage($wid,$uid,$userName,1);
+ $database->addResourceFields($wid,$database->getVillageType($wid));
+ $database->addUnits($wid);
+ $database->addTech($wid);
+ $database->addABTech($wid);
+ $database->updateUserField($uid,"access",USER,1);
+ $created ++;
+ }
+ else
+ {
+ // Do nothing as the user wasn't created or some unknown error
+ }
+ }
+ }
+ header("Location: ../../../Admin/admin.php?p=addUsers&g=OK&bn=$baseName&am=$created&sk=$skipped");
+}
+?>