CWP GamePanel Module Beta

Combine your Web Hosting and Game Hosting into one package with GPModule for CWP.

Installation


1) Make backup of "root_cwp" mysql database!!!

2) Login to your console

3) Execute next command:
	cd /usr/local/cwpsrv/htdocs/resources && wget -q https://goran-margetic.iz.hr/latest-cwpgp && sh latest-cwpgp;

4) Once process is complete login to your CWP Admin and navigate to:
	YOURHOST/admin/index.php?module=Game_Panel

5) Complete the installation from web.

6) Once GamePanel is installed completelly open this link to run database updater:
	YOURHOST/admin/index.php?module=Game_Panel&task=gpdbupdate

Game's Start Commands

Since I used games list from another abandoned GamePanel a lot of startlines are not correct.
Invalid example:
	./binary %something% %something2% %something3%

This is wrong! So startlines like that have to be fixed!
I didn't fix these startlines because I know some game hosters gonna use shell scripts to start servers and I personaly don't like to start game servers with shell scripts.

Valid example (Call of Duty 4):
	./cod4_lnxded +set fs_basepath {homedir} +set fs_homepath {homedir} +set fs_game {cfg4} +set dedicated 2 +set net_ip {ip} +set net_port {port} +set ui_maxclients {slots} +set sv_maxclients {slots}  +exec {cfg1} +set sv_punkbuster {cfg2} +set rcon_password {cfg3} +set logfile 2 +map_rotate

Valid example (Minecraft):
	/usr/bin/java -Xmx{cfg7} -Xms{cfg8} -jar {homedir}/minecraft_server.jar nogui

Template vars like {cfg1},{cfg2}, etc. will be replaced with values that are configured via server configuration form.
Template vars like {homedir} will be replaced with servers home directory.

Full template var lists:
{cfg1} 	-> Configuration 1
{cfg2} 	-> Configuration 2
{cfg3} 	-> Configuration 3
{cfg4} 	-> Configuration 4
{cfg5} 	-> Configuration 5
{cfg6} 	-> Configuration 6
{cfg7} 	-> Configuration 7
{cfg8} 	-> Configuration 8
{ip}	-> IP Address
{port}	-> Port
{slots}	-> Server Slots
{user}	-> Username
{homedir} -> Server home directory

Everytime server Start button is invoked servers start command (startline) will be generated based on values configured via servers configuration so you don't need to manually create complete startlines for every server.

If you want to use shell scripts for starting server create it without SCREEN because GamePanel will add all important SCREEN parameters to keep server active and easy trackable.

Full startline example

Full startline generated by GamePanel it self will look like this

su USERNAME -c'cd SERVER_HOMEDIR; /usr/bin/screen -AdmSL gameserver_SERVERID STARTLINE && exit;'

Because CWP uses ROOT from web I have create start commands to look like this so every server will basically be started as USER not as ROOT.

Binary files and shell scripts should be chmod-ed to be executable, basically 0700 perm should be enough.

If game server didn't create any log files and server it self is not started at all that's mean permissions are incorrect.

GameQ v3 game query library

If you have any problems with GameQ query type, please check what indentifier you have to use GameQ v3 available games and identifiers. Basicaly you can use engine identifier for multiple games. Such as Call of Duty games based on quake engine can all be queried with "quake3" identifier.
Let's say you want to set Call of Duty 5 game, in that case you can use any of Quake based games identifier like "cod4", "quake3", etc.

Updates/Changelog

v0.1.2-Beta
 - fixed installation process for CWP6
 - added new menu buttons to Admin and Client side
     * new installations will automaticaly create new buttons
     * updated servers have to manully replace old buttons with new one

Conditions, terms, license...

GamePanel Module is released as free software, if you paid for it you should ask for refund!
Free for personal or commercial usage under following conditions/terms:

LICENSE:
	- Any kind of reverse engineering including decoding, decrypting and modifying is strictly prohibited.
	- Any kind of trying to translate the code to any of human readable languages is strictly prohibited.
	- If you want to share this module you have to use official GamePanel Module link/url.
	- You are not allowed to sell/resell this module!
	- This module is released under EU/HR Copyright (Authorship) law (Croatia, Law No.: 01-081-03-1344/2).
	- You don't have rights to remove copyright footer, it have to be visible and have to be unmodified (must be same as it is on original script)

DISCLAIMER:
	This module is still in beta stage!
	This module is released AS-IS without any warranty!
	I, (module developer, Gogo) am NOT responsible for any damage caused by using this module!
	If you find any bug/glitch please report it to CWP GamePanel Module (forum topic) as soon as possible.
	If you find any security problem please report it directly to me via CWP Forum (my nick is Gogo).
	Please do not send me private questions eg. how to use.
	I (module developer, Gogo) reserve rights to modify this content including license it self at any time without notifying clients about changes I made!

COPYRIGHTS:
	CWP Game Panel Module Developer: Gogo
	All rights reserved, 2017. Free for commercial and non-commercial usage, under terms and conditions.

OTHER:
	If you plan to use this module, consider a small donation, it would mean a lot to me in the further development of the module,
	correcting bugs, adding new features and increasing of supported games.

* if you have some usefull suggestion I'll be glad to develop it and implement into the GamePanel Module
* any extra feature can be developed for small fee (donation)

Known bugs and temp fixes

Server View - GameQ error

Fatal error: Uncaught GameQ\Exception\Server: Unable to locate Protocols class for...
Temp. Fix:
1) Open GameQ v3 identifiers and find identifier for the game from server you've got error
2) Login to PhpMyAdmin
3) Open "root_cwp" database
4) Select "_gp_servers"
5) Find server id you've got error
6) Update column "query" for that server and set new identifier that you found on step 1.

! Please be aware that GameQ v3 does not support all games, but you can still use game engine identifiers such as "quake3" and "source" for games that are based on these engines.