refactor: installation happens at MySQL side

A lot has happened here. Here's the list:

1. autoloader was added that should prevent various "failed to open
stream" errors when trying to load new classes

2. PHP-based data generation was replaced by MySQL-based one, hopefully
fixing the installation problems when insert payload it too high and the
DB wouldn't populate with some users

3. thanks to step 2, the installation should be really almost
instantenious, instead of waiting a long time for many SQL connections
and queries to populate the world

4. World Data & Oasis generation and population is done in 1 step now
This commit is contained in:
Martin Ambrus
2017-10-27 18:27:03 +02:00
parent 93fbba445e
commit 1066fff9a2
26 changed files with 957 additions and 447 deletions
+29 -9
View File
@@ -14,20 +14,40 @@
## Source code: https://github.com/Shadowss/TravianZ ##
## ##
#################################################################################
include_once('../GameEngine/config.php');
if(isset($_GET['c']) && $_GET['c'] == 1) {
echo "<div class=\"headline\"><span class=\"f10 c5\">Error importing database. Check configuration.</span></div><br>";
echo "<div class=\"headline\"><span class=\"f10 c5\">Error importing database. Check configuration.</span></div><br>";
}
if(isset($_GET['err']) && $_GET['err'] == 1) {
echo "<br /><hr /><br /><div class=\"headline\"><span class=\"f10 c5\">Existing structure was found in the database! Please remove old game tables with the <i>".TB_PREFIX."</i> prefix from the '<strong>".SQL_DB."</strong>' database before continuing.</span></div><br /><br />";
}
?>
<form action="process.php" method="post" id="dataform">
<input type="hidden" name="substruc" value="1">
<input type="hidden" name="substruc" value="1">
<p>
<span class="f10 c">Create SQL Structure</span>
<table>
<tr><td>Warning: This can take some time. Wait till the next page has been loaded! Click Create to proceed..</td></tr>
<tr><td><center><input type="submit" name="Submit" id="Submit" value="Create.." onClick="return proceed()"></center></td></tr>
</table>
</p>
<p>
<span class="f10 c">Create Database Structure</span>
<table>
<tr>
<td>
Warning: This can take some time. Please wait until the next page has been loaded. Click Create to proceed...
<br />
<br />
</td>
</tr>
<tr>
<td>
<center>
<input type="submit" name="Submit" id="Submit" value="Create" onClick="return proceed()" />
<br />
<br />
</center>
</td>
</tr>
</table>
</p>
</form>
</div>
+1 -1
View File
@@ -37,7 +37,7 @@ All the files are placed. The database is created, so you can now start playing
<?php include("../GameEngine/config.php");
$time = time();
rename("../install/","../installed_".$time);
touch("../installation_done");
touch('../var/installed');
?>
<p>
<center><font size="4"><a href="<?php echo HOMEPAGE; ?>">> My TravianZ homepage <</font></a></center>
+7 -10
View File
@@ -19,28 +19,25 @@
switch($_GET['s']) {
case 0:
echo "<li class=\"c2 f9\">Intro</li><li class=\"c1 f9\">Configuration</li><li class=\"c1 f9\">Database</li><li class= \"c1 f9\">Field</li><li class=\"c1 f9\">Multihunter</li><li class=\"c1 f9\">Support</li><li class=\"c1 f9\">Oasis</li><li class=\"c1 f9\">End</li>";
echo "<li class=\"c2 f9\">Intro</li><li class=\"c1 f9\">Configuration</li><li class=\"c1 f9\">Database</li><li class= \"c1 f9\">World Data</li><li class=\"c1 f9\">Multihunter</li><li class=\"c1 f9\">Support</li><li class=\"c1 f9\">End</li>";
break;
case 1:
echo "<li class=\"c3 f9\">Intro</li><li class=\"c2 f9\">Configuration</li><li class=\"c1 f9\">Database</li><li class= \"c1 f9\">Field</li><li class=\"c1 f9\">Multihunter</li><li class=\"c1 f9\">Support</li><li class=\"c1 f9\">Oasis</li><li class=\"c1 f9\">End</li>";
echo "<li class=\"c3 f9\">Intro</li><li class=\"c2 f9\">Configuration</li><li class=\"c1 f9\">Database</li><li class= \"c1 f9\">World Data</li><li class=\"c1 f9\">Multihunter</li><li class=\"c1 f9\">Support</li><li class=\"c1 f9\">End</li>";
break;
case 2:
echo "<li class=\"c3 f9\">Intro</li><li class=\"c3 f9\">Configuration</li><li class=\"c2 f9\">Database</li><li class= \"c1 f9\">Field</li><li class=\"c1 f9\">Multihunter</li><li class=\"c1 f9\">Support</li><li class=\"c1 f9\">Oasis</li><li class=\"c1 f9\">End</li>";
echo "<li class=\"c3 f9\">Intro</li><li class=\"c3 f9\">Configuration</li><li class=\"c2 f9\">Database</li><li class= \"c1 f9\">World Data</li><li class=\"c1 f9\">Multihunter</li><li class=\"c1 f9\">Support</li><li class=\"c1 f9\">End</li>";
break;
case 3:
echo "<li class=\"c3 f9\">Intro</li><li class=\"c3 f9\">Configuration</li><li class=\"c3 f9\">Database</li><li class= \"c2 f9\">Field</li><li class=\"c1 f9\">Multihunter</li><li class=\"c1 f9\">Support</li><li class=\"c1 f9\">Oasis</li><li class=\"c1 f9\">End</li>";
echo "<li class=\"c3 f9\">Intro</li><li class=\"c3 f9\">Configuration</li><li class=\"c3 f9\">Database</li><li class= \"c2 f9\">World Data</li><li class=\"c1 f9\">Multihunter</li><li class=\"c1 f9\">Support</li><li class=\"c1 f9\">End</li>";
break;
case 4:
echo "<li class=\"c3 f9\">Intro</li><li class=\"c3 f9\">Configuration</li><li class=\"c3 f9\">Database</li><li class= \"c3 f9\">Field</li><li class=\"c2 f9\">Multihunter</li><li class=\"c1 f9\">Support</li><li class=\"c1 f9\">Oasis</li><li class=\"c1 f9\">End</li>";
echo "<li class=\"c3 f9\">Intro</li><li class=\"c3 f9\">Configuration</li><li class=\"c3 f9\">Database</li><li class= \"c3 f9\">World Data</li><li class=\"c2 f9\">Multihunter</li><li class=\"c1 f9\">Support</li><li class=\"c1 f9\">End</li>";
break;
case 5:
echo "<li class=\"c3 f9\">Intro</li><li class=\"c3 f9\">Configuration</li><li class=\"c3 f9\">Database</li><li class= \"c3 f9\">Field</li><li class=\"c3 f9\">Multihunter</li><li class=\"c2 f9\">Support</li><li class=\"c1 f9\">Oasis</li><li class=\"c1 f9\">End</li>";
echo "<li class=\"c3 f9\">Intro</li><li class=\"c3 f9\">Configuration</li><li class=\"c3 f9\">Database</li><li class= \"c3 f9\">World Data</li><li class=\"c3 f9\">Multihunter</li><li class=\"c2 f9\">Support</li><li class=\"c1 f9\">End</li>";
break;
case 6:
echo "<li class=\"c3 f9\">Intro</li><li class=\"c3 f9\">Configuration</li><li class=\"c3 f9\">Database</li><li class= \"c3 f9\">Field</li><li class=\"c3 f9\">Multihunter</li><li class=\"c3 f9\">Support</li><li class=\"c2 f9\">Oasis</li><li class=\"c1 f9\">End</li>";
break;
case 7:
echo "<li class=\"c3 f9\">Intro</li><li class=\"c3 f9\">Configuration</li><li class=\"c3 f9\">Database</li><li class= \"c3 f9\">Field</li><li class=\"c3 f9\">Multihunter</li><li class=\"c3 f9\">Support</li><li class=\"c3 f9\">Oasis</li><li class=\"c2 f9\">End</li>";
echo "<li class=\"c3 f9\">Intro</li><li class=\"c3 f9\">Configuration</li><li class=\"c3 f9\">Database</li><li class= \"c3 f9\">World Data</li><li class=\"c3 f9\">Multihunter</li><li class=\"c3 f9\">Support</li><li class=\"c2 f9\">End</li>";
break;
}
-1
View File
@@ -14,7 +14,6 @@
## Source code: https://github.com/Shadowss/TravianZ ##
## ##
#################################################################################
rename("include/constant.php","../GameEngine/config.php");
?>
-24
View File
@@ -1,24 +0,0 @@
<?php
//////////////////////////////////////////////////////////////////////////////////////////////////////
// TRAVIANX //
// Only for advanced users, do not edit if you dont know what are you doing! //
// Made by: Dzoki & Dixie (TravianX) //
// - TravianX = Travian Clone Project - //
// DO NOT REMOVE COPYRIGHT NOTICE! //
//////////////////////////////////////////////////////////////////////////////////////////////////////
if(isset($_GET['err']) && $_GET['err'] == 1) {
echo "<br /><hr /><br /><div class=\"headline\"><span class=\"f10 c5\">Existing Oasis data found in the database! Please clear the 'odata' table before continuing.</span></div><br /><br />";
}
?>
<form action="include/oasis.php" method="post" id="dataform">
<p>
<span class="f10 c">Populate Oasis</span>
<table>
<tr><td><b>Warning</b>: This can take some time. Wait till the next page has been loaded! Click Create to proceed..</td></tr>
<tr><td><center><input type="submit" name="Submit" id="Submit" value="Create.." onClick="return proceed()"></center></td></tr>
</table>
</p>
</form>
</div>
@@ -4,7 +4,7 @@
## --------------------------------------------------------------------------- ##
## Project: TravianZ ##
## Version: 22.06.2015 ##
## Filename field.tpl ##
## Filename wdata.tpl ##
## Developed by: Mr.php , Advocaite , brainiacX , yi12345 , Shadow , ronix ##
## Fixed by: Shadow - STARVATION , HERO FIXED COMPL. ##
## Fixed by: InCube - double troops ##
@@ -15,12 +15,14 @@
## ##
#################################################################################
include_once('../GameEngine/config.php');
if(isset($_GET['c']) && $_GET['c'] == 1) {
echo "<br /><hr /><br /><div class=\"headline\"><span class=\"f10 c5\">Error creating wdata. Check configuration or file.</span></div><br><br>";
}
if(isset($_GET['err']) && $_GET['err'] == 1) {
echo "<br /><hr /><br /><div class=\"headline\"><span class=\"f10 c5\">Existing World Data found in the database! Please clear your database before continuing.</span></div><br /><br />";
echo "<br /><hr /><br /><div class=\"headline\"><span class=\"f10 c5\">Existing World Data found in the database! Please empty tables <i>".TB_PREFIX."odata, ".TB_PREFIX."units, ".TB_PREFIX."vdata, ".TB_PREFIX."wdata</i> before continuing.</span></div><br /><br />";
}
?>
<form action="process.php" method="post" id="dataform">