Skip to content

Installation Procedure

Travis Rowland edited this page Jun 6, 2015 · 31 revisions

Warning

The following installation instructions are not production-ready, please ensure proper security configurations before setting this up in a production environment. Dynamictivity is not responsible for any loss due to negligence, security is your responsibility and is not covered in the scope of this documentation.

Install/Configure Web Server, Database and Control Panel Front-End

  1. Install XAMPP https://www.apachefriends.org/download.html
    • (Optional) Uncheck the following options from "Components" during XAMPP installation:
      • FileZilla FTP Server
      • Mercury Mail Server
      • Tomcat
      • Perl
      • Webalizer
    • Use default settings (C:\xampp)
  2. Open the XAMPP Control Panel and start Apache and MySQL
    • Create your database: hecpanel
    • Import the hse.sql into your new database: C:\xampp\htdocs\hecpanel\app\Config\Schema\hse.sql
  3. Install Steam http://store.steampowered.com/
  4. Install Space Engineers http://store.steampowered.com/app/244850/
  5. Install HEcPanel

Setup Application Skeleton and Folders

  1. Create a new folder C:\SERVER
  2. Create a new folder C:\SERVER\BACKUPS
  3. Create a new folder C:\SERVER\BACKUPS\DEV
  4. Create a new folder C:\SERVER\INSTANCES
  5. Create a new folder C:\SERVER\INSTANCES\DEV
  6. Create a new folder C:\SERVER\LIBS
  7. Create a new folder C:\SERVER\LIBS\DEV
  8. Copy the contents of C:\xampp\htdocs\hecpanel\app\Config\SKEL to C:\SERVER\LIBS\DEV

Configure Host Server

  1. Log-in to http://localhost/hecpanel/admin/instances/host_servers using the following username/password: hecadmin/hecadmin
  2. Proceed to "Instances -> Host Servers" and click on "Add New".
  3. From a command prompt on the host system, type the following to retrieve your "Servername": hostname
  4. Input that hostname into the "Servername" field in the form.
  5. Input localhost into the form for "Hostname".
  6. Input the address 127.0.0.1 in to the "IP Address" field of the form.
  7. Click on "Submit"
  8. Open up C:\xampp\htdocs\hecpanel\app\Console\cake.php and uncomment this line: //ini_set('include_path', $root . PATH_SEPARATOR . 'C:' . DS . 'xampp' . DS . 'htdocs' . DS . 'hecpanel' . DS . 'lib' . PATH_SEPARATOR . ini_get('include_path'));
  9. Proceed to C:\SERVER\LIBS\DEV\SERVER_SCRIPTS on the command-line and execute cron.bat Compare your results with Appendix B
  10. Proceed to "Instances -> Command Queue" and click on "Add New".
  11. Select the "Command": [checkForUpdates] Check for Space Engineers updates
  12. Select the "Host Server": localhost
  13. Ensure that "Enabled" is checked.
  14. Click on "Submit".
  15. Proceed to C:\SERVER\LIBS\DEV\SERVER_SCRIPTS on the command-line and execute cron.bat You should see a bunch of files being copied, if not, please double-check all paths, folder creations and Steam/Space Engineers installation.

Setup Cron-Job

  1. Use "Windows Task Scheduler" or another cron-tool of your choice to automatically call C:\SERVER\LIBS\DEV\SERVER_SCRIPTS\cron.bat every minute.

Test Installation

  1. Proceed to "Instances -> List Instances" and click on "Add New".
  2. Put anything you like for the "Name" and click on "Submit"
  3. You will receive an error "Unknown email configuration "mandrill". This is a known issue.
  4. Go back to the "Instance List" and click on the "Start" button.
  5. Join and play on the server to verify it is working, IP and port information are displayed in the "Instance List".

Appendix A

public $default = array(
	'datasource' => 'Database/Mysql',
	'persistent' => false,
	'host' => 'localhost',
	'login' => 'root',
	'password' => '',
	'database' => 'hecpanel',
	'prefix' => '',
	//'encoding' => 'utf8',
);

Appendix B

	Welcome to CakePHP v2.6.4 Console
	---------------------------------------------------------------
	App : app
	Path: C:\xampp\htdocs\hecpanel\app\
	---------------------------------------------------------------
	\app\Plugin\Instances\Console\Command\SeServerShell.php (line 388)
	########## DEBUG ##########
	array(
			(int) 0 => 'Get queued commands:',
			(int) 1 => array()
	)
	###########################
	\app\Plugin\Instances\Console\Command\SeServerShell.php (line 388)
	########## DEBUG ##########
	array(
			(int) 0 => 'Execute commands:',
			(int) 1 => array()
	)
	###########################
	\app\Plugin\Instances\Console\Command\SeServerShell.php (line 388)
	########## DEBUG ##########
	array(
			(int) 0 => 'Mark commands as executed:',
			(int) 1 => array()
	)
	###########################
	\app\Plugin\Instances\Console\Command\SeServerShell.php (line 388)
	########## DEBUG ##########
	array(
			(int) 0 => 'Disable non-recurring commands:',
			(int) 1 => array()
	)
	###########################
	\app\Plugin\Instances\Console\Command\SeServerShell.php (line 388)
	########## DEBUG ##########
	array(
			(int) 0 => 'Cron completed.'
	)
	###########################

Clone this wiki locally