Compare commits

...

152 Commits
0.2 ... master

Author SHA1 Message Date
Erreur32 5ea5b65f1c first commit 2022-11-17 11:09:31 +01:00
Erreur32 6baf1a96ea Update 'mods.php' 2021-05-04 15:18:29 +02:00
Erreur32 d3e6e33e4a Update 'mods.php' 2021-05-04 15:11:21 +02:00
Erreur32 c388fa840d TEST mods file_get_contents issue
TEST mods  file_get_contents issue
2021-05-04 15:08:45 +02:00
Erreur32 fc856ca129 Update 'README.md' 2021-02-07 15:39:22 +01:00
Erreur32 9ccb84e5dd Delete 'asset/Screenshot_2021-02-07.png' 2021-02-07 15:38:58 +01:00
Erreur32 dfb1926b7a Upload files to 'asset' 2021-02-07 15:38:48 +01:00
Erreur32 0c21e5f7cc first commit 2021-02-07 14:26:16 +01:00
Erreur32 f3bf04d34c first commit 2021-02-07 14:08:37 +01:00
Erreur32 d09478caee first commit 2021-02-07 14:07:07 +01:00
Erreur32 aee58bee90 first commit 2021-02-07 13:39:14 +01:00
Erreur32 f2a3b75906 Update 'README.md' 2021-02-07 13:37:20 +01:00
Erreur32 5f4d110058 first commit 2021-02-07 13:35:02 +01:00
Erreur32 752eb954ec first commit 2021-02-07 13:34:01 +01:00
Erreur32 853c4e7c72 Update 'README.md' 2021-02-07 13:17:15 +01:00
Erreur32 6d8dcb965e Update 'README.md' 2021-02-07 13:15:11 +01:00
Erreur32 98ef968774 Upload files to 'asset' 2021-02-07 13:12:31 +01:00
Erreur32 7c644c5168 Update 'README.md' 2021-02-07 13:06:56 +01:00
Erreur32 1aae807950 Upload files to '' 2021-02-07 13:04:29 +01:00
Erreur32 f648193990 Update 'README.md' 2021-02-07 00:46:12 +01:00
Erreur32 62ca7d0d4d Update 'README.md' 2021-02-07 00:41:57 +01:00
Erreur32 82e740f20b Update 'README.md' 2021-02-06 19:49:01 +01:00
Erreur32 53101d47c7 Update 'README.md' 2021-02-06 16:05:37 +01:00
Erreur32 d353ff6804 Update 'README.md' 2021-02-06 14:54:14 +01:00
Erreur32 9a287c119f first commit 2021-02-06 13:59:57 +01:00
Erreur32 b1fcb1bee0 first commit 2021-02-06 13:56:53 +01:00
Erreur32 876d9958b9 first commit 2021-02-06 13:51:08 +01:00
Erreur32 9a480da3de first commit 2021-02-06 13:40:40 +01:00
Erreur32 b762dfd4b2 first commit 2021-02-06 13:35:09 +01:00
Erreur32 cab6762cbd first commit 2021-02-06 13:32:02 +01:00
Erreur32 5ed9977567 first commit 2021-02-06 00:17:51 +01:00
Erreur32 a2bbe893db first commit 2021-02-05 23:57:13 +01:00
Erreur32 65ccbb1363 first commit 2021-02-05 23:36:29 +01:00
Erreur32 62389598e5 first commit 2021-02-05 23:27:57 +01:00
Erreur32 5fed7b8a48 first commit 2021-02-05 23:24:31 +01:00
Erreur32 95f1b5c8f5 first commit 2021-02-05 23:20:15 +01:00
Erreur32 9c94cf58f8 first commit 2021-02-05 23:18:22 +01:00
Erreur32 79558c56a8 first commit 2021-02-05 23:16:08 +01:00
Erreur32 a5b8b60d75 Upload files to '' 2021-02-05 22:50:33 +01:00
Erreur32 9a4787b7c2 first commit 2021-02-05 22:45:59 +01:00
Erreur32 e852d3880f Upload files to '' 2021-02-05 22:28:46 +01:00
Erreur32 ffe8fbfb94 first commit 2021-02-05 22:27:12 +01:00
Erreur32 07055b55de first commit 2021-02-05 22:26:36 +01:00
Erreur32 137573be5d first commit 2021-02-05 21:49:12 +01:00
Erreur32 b6cc8fabb5 first commit 2021-02-05 18:57:23 +01:00
Erreur32 316af02a9b first commit 2021-02-05 13:56:01 +01:00
Erreur32 69abc09ba6 Update 'README.md' 2021-02-05 13:21:22 +01:00
Erreur32 1f1489237b first commit 2021-02-05 13:16:04 +01:00
Erreur32 350f0757c5 first commit 2021-02-05 10:46:47 +01:00
Erreur32 bbc5ccaaf6 first commit 2021-02-05 10:07:23 +01:00
Erreur32 448701492c first commit 2021-02-05 00:24:26 +01:00
Erreur32 1da8eb8402 first commit 2021-02-05 00:22:51 +01:00
Erreur32 5bc61e5cfd first commit 2021-02-05 00:21:45 +01:00
Erreur32 b6c2eb5b45 first commit 2021-02-05 00:18:56 +01:00
Erreur32 c8844b03eb Update 'README.md' 2021-02-04 23:42:11 +01:00
Erreur32 caa6a25179 first commit 2021-02-04 23:02:00 +01:00
Erreur32 ab18d40402 first commit 2021-02-04 23:00:41 +01:00
Erreur32 6c4178a28c Update 'README.md' 2021-02-04 22:56:54 +01:00
Erreur32 85099d1585 Upload files to 'assets' 2021-02-04 22:55:50 +01:00
Erreur32 83571219d5 Update 'consql.php' 2021-02-04 22:48:43 +01:00
Erreur32 9456498a95 first commit 2021-02-04 22:39:41 +01:00
Erreur32 603b37744b first commit 2021-02-04 22:37:15 +01:00
Erreur32 392c86ac1a first commit 2021-02-04 22:36:49 +01:00
Erreur32 c30a6b2592 Update 'README.md' 2021-02-04 22:36:07 +01:00
Erreur32 0148be97ac Update 'README.md' 2021-02-04 22:33:19 +01:00
Erreur32 0cdd421055 Update 'README.md' 2021-02-04 22:30:40 +01:00
Erreur32 e4b7fe5237 first commit 2021-02-04 22:17:16 +01:00
Erreur32 53bcb915a6 first commit 2021-02-04 22:14:31 +01:00
Erreur32 709fa78547 first commit 2021-02-04 21:05:13 +01:00
Erreur32 0fa155dd0f first commit 2021-02-04 21:04:31 +01:00
Erreur32 318c95162f first commit 2021-02-04 20:59:35 +01:00
Erreur32 83d6acd120 first commit 2021-02-04 20:56:10 +01:00
Erreur32 edb60f166a first commit 2021-02-04 20:54:45 +01:00
Erreur32 0c4d7dda33 first commit 2021-02-04 20:52:15 +01:00
Erreur32 3e5a454807 Update 'README.md' 2021-02-04 18:10:15 +01:00
Erreur32 a51b3043ef Update 'README.md' 2021-02-04 18:03:59 +01:00
Erreur32 fa7f948ab5 Update 'README.md' 2021-02-04 18:02:35 +01:00
Erreur32 b5efefbcf1 first commit 2021-02-04 18:00:02 +01:00
Erreur32 21d30b24f2 first commit 2021-02-03 16:12:25 +01:00
Erreur32 decb273635 Update 'README.md' 2021-02-03 11:40:07 +01:00
Erreur32 5910ac2195 Update 'README.md' 2021-02-03 11:38:00 +01:00
Erreur32 a0521eff19 first commit 2021-02-03 11:36:24 +01:00
Erreur32 27aa22a5a4 Update 'README.md' 2021-02-03 11:31:32 +01:00
Erreur32 ebba917be5 Update 'README.md' 2021-02-03 11:26:47 +01:00
Erreur32 6590e6bda2 Update 'README.md' 2021-02-03 11:14:20 +01:00
Erreur32 3a2676e06e first commit 2021-02-02 23:40:13 +01:00
Erreur32 c213bf2691 first commit 2021-02-02 23:38:02 +01:00
Erreur32 eace53cdd6 first commit 2021-02-02 23:36:39 +01:00
Erreur32 8f0defacb1 first commit 2021-02-02 23:34:59 +01:00
Erreur32 fa8be23f15 Update 'statserver_json.sh' 2021-02-02 17:25:40 +01:00
Erreur32 3649d1124e first commit 2021-02-02 17:05:03 +01:00
Erreur32 a13717e013 first commit 2021-02-02 16:03:26 +01:00
Erreur32 e517618160 first commit 2021-02-02 15:35:59 +01:00
Erreur32 47fd3bab62 first commit 2021-02-02 15:14:05 +01:00
Erreur32 b2f89bdb73 first commit 2021-02-02 14:23:37 +01:00
Erreur32 50da256810 first commit 2021-02-02 13:15:00 +01:00
Erreur32 b24212ed35 first commit 2021-02-02 12:51:55 +01:00
Erreur32 1101f4bb85 first commit 2021-02-02 12:45:13 +01:00
Erreur32 50f2a38b35 first commit 2021-02-02 12:44:26 +01:00
Erreur32 37012ada4f first commit 2021-02-02 11:44:54 +01:00
Erreur32 1a0884c63f first commit 2021-02-02 11:33:09 +01:00
Erreur32 4b84995888 first commit 2021-02-02 11:32:14 +01:00
Erreur32 565f377964 first commit 2021-02-02 11:30:10 +01:00
Erreur32 f6b4eca6ad Upload files to '' 2021-02-02 11:29:23 +01:00
Erreur32 494b2611c1 first commit 2021-02-02 11:27:05 +01:00
Erreur32 1a42fd4b42 first commit 2021-02-02 11:23:45 +01:00
Erreur32 0a51ba7f2e first commit 2021-02-02 11:23:02 +01:00
Erreur32 6ebd513d37 Upload files to '' 2021-02-02 11:20:58 +01:00
Erreur32 b3271bc8a8 first commit 2021-02-02 11:18:46 +01:00
Erreur32 30c10cbc72 Update 'README.md' 2021-02-01 18:50:33 +01:00
Erreur32 41595b262b Update 'README.md' 2021-02-01 18:48:39 +01:00
Erreur32 ef9681a62d Update 'README.md' 2021-02-01 18:48:19 +01:00
Erreur32 afe08038cc Update 'README.md' 2021-02-01 18:41:36 +01:00
Erreur32 2d5f7c1157 Update 'README.md' 2021-02-01 16:08:40 +01:00
Erreur32 aede764906 Update 'README.md' 2021-02-01 16:07:27 +01:00
Erreur32 e098a4de56 Update 'README.md' 2021-02-01 16:06:56 +01:00
Erreur32 6e6f05c677 screenshot-preview 2021-02-01 16:04:48 +01:00
Erreur32 e6c9da38a4 Update 'README.md' 2021-02-01 14:49:08 +01:00
Erreur32 1c53446c62 Update 'README.md' 2021-02-01 14:48:14 +01:00
Erreur32 f25e677532 Update 'README.md' 2021-02-01 14:46:48 +01:00
Erreur32 7da08d7fcd Update 'README.md' 2021-02-01 14:46:07 +01:00
Erreur32 9cd13cbf04 Update 'README.md' 2021-02-01 14:45:18 +01:00
Erreur32 ec062247c8 Update 'config.php' 2021-02-01 14:38:33 +01:00
Erreur32 3a60fecc94 Update 'config.php' 2021-02-01 14:33:27 +01:00
Erreur32 c8b56e7cb1 small typo fix 2021-02-01 14:30:33 +01:00
Erreur32 1aea9e820f first commit 2021-01-31 21:28:04 +01:00
Erreur32 14674a1ad3 first commit 2021-01-31 21:12:51 +01:00
Erreur32 9f9d85ee9c Merge branch 'master' of https://git.echosystem.fr/Erreur32/DayZ-Stat-Server 2021-01-31 21:11:39 +01:00
Erreur32 2df5fbbee7 first commit 2021-01-31 21:11:36 +01:00
Erreur32 4b151bb058 Update 'README.md' 2021-01-31 19:09:32 +01:00
Erreur32 188481c055 first commit 2021-01-31 18:56:08 +01:00
Erreur32 617d059676 first commit 2021-01-31 18:45:15 +01:00
Erreur32 7d871e0087 first commit 2021-01-31 18:12:00 +01:00
Erreur32 787a2d6861 first commit 2021-01-31 16:31:37 +01:00
Erreur32 e3657bb219 first commit 2021-01-31 16:11:09 +01:00
Erreur32 7c4615c089 first commit 2021-01-31 15:53:37 +01:00
Erreur32 6345b8741f first commit 2021-01-31 15:42:37 +01:00
Erreur32 ecdbdd0be6 first commit 2021-01-31 15:27:43 +01:00
Erreur32 eadf985d21 first commit 2021-01-31 15:23:05 +01:00
Erreur32 a2f478b3f9 first commit 2021-01-31 14:35:43 +01:00
Erreur32 6c8eda901e first commit 2021-01-31 14:28:11 +01:00
Erreur32 1d7527257f Merge branch 'master' of https://git.echosystem.fr/Erreur32/DayZ-Stat-Server 2021-01-31 14:15:31 +01:00
Erreur32 6b41f74845 first commit 2021-01-31 14:14:35 +01:00
Erreur32 5fe6397676 Update 'README.md' 2021-01-31 13:44:49 +01:00
Erreur32 b9e8b63d72 Update 'README.md' 2021-01-31 13:43:54 +01:00
Erreur32 21e7c4e7a0 Update 'README.md' 2021-01-31 13:36:35 +01:00
Erreur32 7bb1d1cfc2 Update 'README.md' 2021-01-31 13:35:36 +01:00
Erreur32 01839957f2 Update 'README.md' 2021-01-31 13:34:45 +01:00
Erreur32 0320116ba2 Update 'README.md' 2021-01-31 13:33:47 +01:00
Erreur32 cee0824c65 Update 'README.md' 2021-01-31 13:33:15 +01:00
Erreur32 6089fefc38 Update 'README.md' 2021-01-31 13:32:57 +01:00
Erreur32 18daef5fde first commit 2021-01-31 13:30:33 +01:00
45 changed files with 2640 additions and 598 deletions

View File

@ -1,33 +1,33 @@
<?php
ini_set('display_errors', 'on');
include('./consql.php');
include_once('config.php');
$StatServer = "StatServer_20";
//ini_set('display_errors', 'on');
$queryP = "SELECT date, numplayers FROM ".$StatServer." ORDER BY id DESC LIMIT 80";
$arrPlay = $con->query($queryP);
include_once('config/config.php');
include_once('config/consql.php');
// MYSQL table
// $StatServer = "StatServer_20"; // set in consql.php
$queryP = "SELECT date, players FROM ".$StatServer." ORDER BY id DESC LIMIT 80";
$arrPlay = $con->query($queryP);
?>
<!doctype html>
<head>
<!--<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>-->
<script src="https://code.jquery.com/jquery-3.3.1.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/raphael/2.1.2/raphael-min.js"></script>
<script src="morris/morris.js"></script>
<!--link rel="stylesheet" href="lib/example.css"-->
<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/prettify/r224/prettify.min.css">
<script src="morris/morris.js"></script>
<link rel="stylesheet" href="morris/morris.css">
</head>
<body>
<h3> Players on <small style='color: grey;'> <?php echo $Info['HostName']; ?></small></h3>
<h3> Players on <?php echo $namemap ;?> (-ToX-)</h3>
<div id="graph32"></div>
<script>
var day_data = [<?php while($row = mysqli_fetch_assoc($arrPlay)){ echo "{'Date': '".$row["date"]."', 'Players': ".$row["numplayers"]."}, "; } ?> ];
var day_data = [<?php while($row = mysqli_fetch_assoc($arrPlay)){ echo "{'Date': '".$row["date"]."', 'Players': ".$row["players"]."}, "; } ?> ];
Morris.Line({
element: 'graph32',
@ -44,4 +44,4 @@ hideHover:'auto'
</script>
</body>
</html>

144
README.md
View File

@ -1,26 +1,144 @@
# Hi Survivor !!
# ☠ [TEAM DayZ](https://dayz.echosystem.fr) (-🆃🅾🆇-)
### Presents
*Little Stat for Dayz Standalone server.*
![](https://git.echosystem.fr/Erreur32/DayZ-Stat-Server/raw/master/img/DayZStats.png)
# 📈 Simple live Stat for Dayz Standalone server.
Inspired by the *Excelent* __Omega manager__.
> *The [OmegaManager](https://cftools.de/) is a local application to run your DayZ servers. It automatically deploys, runs, watches, restarts and updates your server.*
- Rquire Omega (to check mod only)
- Requie mysql database (to store status for graph)
- You need to set your `ip` , `port` , `query` and `omega server port mod` in `config.php`
STILL in Devlopment ...
This page will show your **DayZ server live stat**. It's working with directly on editing **config.php** file and if you have crontab and sql you can have some graph.
-----
> [example live page](https://dayz.echosystem.fr/git-DayZ-server-stat/)
## Installation
### #1 Download Archive
- Download lastest archive https://git.echosystem.fr/Erreur32/DayZ-Stat-Server/archive/0.32.zip
#### or Use the lastest version with git
>
git clone https://git.echosystem.fr/Erreur32/DayZ-Stat-Server.git
### #2 Configuration Required
- Set the *config.php* file in *config* directory and fill your `ip` , `port` , `query` and `omega server port mod`.
#### edit config/config.php
>
$ipserv = "6.6.6.6"; // IP server game
$portserv = "2302" ; // Game Server Port
$modport = "2312" ; // Mod port omega (+10)
$queryport= "27016"; // Queryport
- Omega manager (to check list mod only, but higly suggered !)
### #3 Create SQL `dayzstat` database and insert SQL/table.sql .
- mysql database (to store status server for graph)
Create `dayzstat` database first + user privilege. Checkout Schema database in SQL/table.sql
#### edit config/consql.php
>
> -- Adminer 4.7.8 MySQL dump
>
> SET NAMES utf8;
> SET foreign_key_checks = 0;
> SET sql_mode = 'NO_AUTO_VALUE_ON_ZERO';
>
> SET NAMES utf8mb4;
>
> CREATE TABLE `StatServer_5` (
> `id` int(11) NOT NULL AUTO_INCREMENT,
> `date` datetime DEFAULT NULL ON UPDATE current_timestamp(),
> `name` varchar(74) NOT NULL DEFAULT 'Offline',
> `players` varchar(32) NOT NULL DEFAULT '0',
> `maxplayers` varchar(4) DEFAULT NULL,
> `map` varchar(19) DEFAULT NULL,
> `game` varchar(4) DEFAULT NULL,
> `version` varchar(15) DEFAULT NULL,
> `timeserver` varchar(12) DEFAULT NULL,
> `timespeed` varchar(5) DEFAULT NULL,
> `timespeedn` varchar(5) DEFAULT NULL,
> `mod` varchar(5) DEFAULT NULL,
> `battleye` tinytext DEFAULT NULL,
> `hive` varchar(11) DEFAULT NULL,
> `connect` varchar(32) DEFAULT NULL,
> `secure` tinytext DEFAULT NULL,
> `ping` varchar(3) DEFAULT '0',
> PRIMARY KEY (`id`),
> KEY `timeserver` (`timeserver`),
> KEY `date` (`date`)
> ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
>
>
> -- 2021-02-05 10:22:08
- **2 Differents way for your crontab** with Shell or php (recommended).
### #4 Crontab to fill Database.
> #### For Shell (SQL insert + json)
> */5 * * * * /usr/sbin/sh /pathto/config/statserver_json.sh &>/dev/null
OR (recommended)
> #### For php (SQL insert)
> */5 * * * * /usr/local/bin/php -f /yourpath.../config/dayz2json_parser_sql.php &>/dev/null
>
tips change __&>/dev/null__ to __2>&1__ to know what is going on, maybe spam your mail log.
Check your time zone here. https://www.php.net/manual/en/timezones.others.php and adapt in dayz2json_parser_sql.php.
## Et Voilà !
ENJOY :)
### TODO
- Need to finish SQL part for stat USER NAME ;)
- Admin section with usefull info from your log server.
![https://dayz.echosystem.fr](https://git.echosystem.fr/repo-avatars/191)
### Library used:
>
> [PHP-Source-Query](https://github.com/xPaw/PHP-Source-Query) - PHP library to query servers that implement Steam query protocol (also known as Source Engine Query protocol)
>
> [Morris](https://morrisjs.github.io/morris.js/) - PHP library to generate graph.
### sample:
> [example live page](https://dayz.echosystem.fr/git-DayZ-server-stat/)
![https://git.echosystem.fr/Erreur32/DayZ-Stat-Server/raw/master/asset/Screenshot_2021-02.png](https://git.echosystem.fr/Erreur32/DayZ-Stat-Server/raw/master/asset/Screenshot_2021-02.png)
# Author : Erreur32
![https://dayz.echosystem.fr](https://git.echosystem.fr/Erreur32/DayZ-Stat-Server/raw/master/img/DayZStats.png)
Website: [dayz.echosystem.fr](https://dayz.echosystem.fr)
Author: Erreur32

Binary file not shown.

After

Width:  |  Height:  |  Size: 214 KiB

View File

@ -1,59 +0,0 @@
<?php
ini_set("allow_url_fopen", 1);
// map description ( need to change )
$namemap = "Namalsk Island";
// Edit this ->
$ipserv = "" ; // IP server game
$portserv = "" ; // Game Server Port
$modport = "" ; // Mod port omega (+10)
$queryport= "" ; // Queryport
// Don't touch below
$urlserv = $ipserv.":".$portserv ;
$json = file_get_contents('http://'.$ipserv.':'.$modport.'/');
$objhigher=json_decode($json); //converts to an object
$objlower = $objhigher[0]; // if the json response its multidimensional this lowers it
$objlower=json_decode($json); //converts to an array of objects
// librarie SQ - info serv game
require 'SQ_/bootstrap.php';
use xPaw\SourceQuery\SourceQuery;
define( 'SQ_SERVER_ADDR', "${ipserv}" ); // IP server
define( 'SQ_SERVER_PORT', "${queryport}" ); // YOUR QUERY PORT
define( 'SQ_TIMEOUT', 3 );
define( 'SQ_ENGINE', SourceQuery::SOURCE );
$Timer = MicroTime( true );
$Query = new SourceQuery( );
$Info = Array( );
$Players = Array( );
try
{
$Query->Connect( SQ_SERVER_ADDR, SQ_SERVER_PORT, SQ_TIMEOUT, SQ_ENGINE );
$Info = $Query->GetInfo( );
$Players = $Query->GetPlayers( );
}
catch( Exception $e )
{
$Exception = $e;
}
$Query->Disconnect( );
$Timer = Number_Format( MicroTime( true ) - $Timer, 4, '.', '' );
$InfoGT = $Info['GameTags'];
?>

6
config/.htaccess Normal file
View File

@ -0,0 +1,6 @@
Options -Indexes
order allow,deny
deny from all
RewriteCond %{THE_REQUEST} /
RewriteRule ^ - [F,L]

138
config/config.php Normal file
View File

@ -0,0 +1,138 @@
<?php
// Need to Edit this
$ipserv = "82.64.214.194" ; // IP server game
$servport = "3200" ; // Game Server Port
$modport = "3210" ; // Mod port omega (+10)
$queryport= "27022" ; // Queryport
$title = "DayZ Stat SERVER Clan | by TOX" ; // Web title page
$descript = "Your Clan/server desciption"; // Your clan/server description
// images in img/ folder
$logoteam = "logoteam.png";
$imagemap = "chernarus.jpg";
// set the default timezone to use. Available since PHP 5.1
// https://www.php.net/manual/en/timezones.others.php
//date_default_timezone_set('Etc/GMT-1');
//$date = date('Y-m-d H:i:s');
//
// Don't touch below
//
$urlserv = $ipserv.":".$servport ;
// $json = file_get_contents("http://".$ipserv.":".$modport."/"); // get info from server
if (file_get_contents("http://".$ipserv.":".$modport) === false) {
// Check the error and handle as you like.
echo "huston ... Server Mod link not found : http://".$ipserv.":".$modport;
die;
} else {
$json = file_get_contents("http://".$ipserv.":".$modport);
}
$modnum = json_decode($json);
/*
// if (!$json) {
//echo "The variable is not empty";
// $objhigher = json_decode($json); //converts to an object
// $objlower = $objhigher[0]; // if the json response its multidimensional this lowers it
// $objlower = json_decode($json); //converts to an array of objects
// } else {
// $mods = "";
// }
*/
// librarie SQ - info serv game
require 'SQ_/bootstrap.php';
use xPaw\SourceQuery\SourceQuery;
define( 'SQ_SERVER_ADDR', "${ipserv}" ); // IP server
define( 'SQ_SERVER_PORT', "${queryport}" ); // YOUR QUERY PORT
define( 'SQ_TIMEOUT', 3 );
define( 'SQ_ENGINE', SourceQuery::SOURCE );
$Timer = MicroTime( true );
$Query = new SourceQuery( );
$Info = Array( );
$Players = Array( );
try
{
$Query->Connect( SQ_SERVER_ADDR, SQ_SERVER_PORT, SQ_TIMEOUT, SQ_ENGINE );
$Info = $Query->GetInfo( );
$Players = $Query->GetPlayers( );
}
catch( Exception $e )
{
$Exception = $e;
}
$Query->Disconnect( );
$Timer = Number_Format( MicroTime( true ) - $Timer, 4, '.', '' );
$InfoGT = $Info['GameTags'];
// DEBUG
/* print_r($Info); */
// Variables
$HostName = $Info['HostName'] ;
$Game = $Info['ModDesc'] ;
$Version = $Info['Version'] ;
$PLayers = $Info['Players'];
$MaxPlayers = $Info['MaxPlayers'] ;
$Secure = $Info['Secure'] ;
$Map = $Info['Map'];
$Os = $Info['Os'] ;
$GamePort = $Info['GamePort'] ;
$GameID = $Info['GameID'] ;
$ping = "666";
// $mods = "0";
// REGEX de la mort.
// time server
$regtimsev = "/[0-9]{1,2}[:][0-9]{1,2}/";
$result = preg_grep($regtimsev, explode(",", $InfoGT));
foreach ($result as $key => $val) { $timeserver = $val; }
// speedtime dayz
$regtimeacc = "/etm[0-9]{1,2}[.][0-9]{1}/";
$result = preg_grep($regtimeacc, explode(",", $InfoGT));
foreach ($result as $key => $val) { $timespeed = trim($val,"entm.0"); }
// speedtime night
$regtimeacn = "/entm[0-9]{1,2}[.][0-9]{1}/";
$result = preg_grep($regtimeacn, explode(",", $InfoGT));
foreach ($result as $key => $val) { $timespeedn = trim($val,"entm.0"); }
// HIVE
$reghive = '/[^,]...(Hive)/';
$result = preg_grep($reghive, explode(",", $InfoGT));
foreach ($result as $key => $val) { $hive = $val; }
// battleye
$regbattle = "/(battleye)/";
$result = preg_grep($regbattle, explode(",", $InfoGT));
foreach ($result as $key => $val) { $battleye = $val; }
// mod
$regmod = "/(mod)/";
$result = preg_grep($regmod, explode(",", $InfoGT));
foreach ($result as $key => $val) { $mods = $val; }
?>

30
config/consql.php Normal file
View File

@ -0,0 +1,30 @@
<?php
//# Change with your credential here.
// Create Database first ;)
// Edit this bloc for SQL
$servdb = "localhost";
$userdb = "";
$pdb = "";
$dbname = "dayzstat";
$table = "StatServer_1";
// Don't edit below !
$StatServer = $table;
$con = new mysqli($servdb, $userdb, $pdb, $dbname);
if ($con->connect_error) {
// Display the alert box
// echo '<script>alert("...Connection failed with MYSQL")</script>';
echo "<center><font color=red> ...Connection failed with MYSQL </font></center>";
// die("Connection failed: " . $con->connect_error);
} else {
// echo "Connect Successfully";
}
?>

View File

@ -0,0 +1,92 @@
<?php
include_once('config.php');
include_once('consql.php');
// set the default timezone to use. Available since PHP 5.1
// https://www.php.net/manual/en/timezones.others.php
// date_default_timezone_set('Etc/GMT-1');
// date_default_timezone_set('Asia/Bangkok');
date_default_timezone_set('Europe/Paris');
$date = date('Y-m-d H:i:s');
// if server down update sql
if (empty($Info['HostName'])) {
$HostName ="OFFLINE";
$PLayers ="0";
$ping ="0";
$timeserver="0";
$timespeed ="0";
$timespeedn="0";
$hive ="0";
$battleye ="0";
$mods ="0";
$timespeed ="0";
$timespeedn="0";
$insql = "INSERT INTO $table (date,name,players,maxplayers,map,game,version,timeserver,timespeed,timespeedn,mods,battleye,hive,connect,secure,ping) VALUES ('$date','$HostName','$PLayers','$MaxPlayers','$Map','$Game','$Version','$timeserver','$timespeed','$timespeedn','$mods','$battleye','$hive','$urlserv','$Secure','$ping')";
if (mysqli_query($con, $insql)) {
echo "New record created successfully";
} else {
echo "Error: . $insql . <br>" . mysqli_error($con);
}
mysqli_close($con);
} else {
// REGEX TIME let's go :)
// time server
$regtimsev = "/[0-9]{1,2}[:][0-9]{1,2}/";
$result = preg_grep($regtimsev, explode(",", $InfoGT));
foreach ($result as $key => $val) { $timeserver = $val; }
// speedtime dayz
$regtimeacc = "/etm[0-9]{1,2}[.][0-9]{1}/";
$result = preg_grep($regtimeacc, explode(",", $InfoGT));
foreach ($result as $key => $val) { $timespeed = trim($val,"entm.0"); }
// speedtime night
$regtimeacn = "/entm[0-9]{1,2}[.][0-9]{1}/";
$result = preg_grep($regtimeacn, explode(",", $InfoGT));
foreach ($result as $key => $val) { $timespeedn = trim($val,"entm.0"); }
// HIVE
$reghive = '/[^,]...(Hive)/';
$result = preg_grep($reghive, explode(",", $InfoGT));
foreach ($result as $key => $val) { $hive = $val; }
// battleye
$regbattle = "/(battleye)/";
$result = preg_grep($regbattle, explode(",", $InfoGT));
foreach ($result as $key => $val) { $battleye = $val; }
// mod
$regmod = "/(mod)/";
$result = preg_grep($regmod, explode(",", $InfoGT));
foreach ($result as $key => $val) { $mods = $val; }
// SQL insert Query.
$insql = "INSERT INTO $table (date,name,players,maxplayers,map,game,version,timeserver,timespeed,timespeedn,mods,battleye,hive,connect,secure,ping) VALUES ('$date','$HostName','$PLayers','$MaxPlayers','$Map','$Game','$Version','$timeserver','$timespeed','$timespeedn','$mods','$battleye','$hive','$urlserv','$Secure','$ping')";
// Check if errors with SQL query
if (mysqli_query($con, $insql)) {
echo "New record created successfully \n";
// echo $insql;
} else { echo "SQL to inject: \n" . $insql . "<br>" . mysqli_error($con); }
mysqli_close($con);
}
// end
?>

View File

@ -0,0 +1,141 @@
<?php
ini_set('display_errors', 1);
error_reporting(E_ALL); // Display all types of error
//set_time_limit ( 4 ); // Max execution time is set to 4 seconds
include_once('config.php');
// print json server
echo "<pre>";
print_r($Info);
echo "</pre>";
// test REGEX
echo "<h1>RESULAT parser JSON </h1><code>";
echo "Hostname: " .$HostName . "<br>";
echo "Players: " .$PLayers . "<br>";
echo "MaxPlayers: " .$MaxPlayers . "<br>";
echo "Secure: " .$Secure . "<br>";
echo "Map: " .$Map . "<br>";
echo "Os: " .$Os . "<br>";
echo "Version: " .$Version . "<br>";
echo "Port: " .$GamePort . "</code><br><hr>";
echo "<h1>Payes ta regex</h1>";
$result = explode(",", $InfoGT);
print_r($result);
echo "<pre><code>".$InfoGT."</code></pre>";
//echo "<table><tr>";
echo "<hr>";
?>
<h2> example code</h2>
<pre><code>
$regtimeacc = "/etm([0-9]{1,2}[.][0-9]{1})/";
$result = preg_grep($regtimeacc, explode(",", $InfoGT));
foreach ($result as $key => $val) {
echo $val;
}
</code></pre>
<?php
echo "<hr>";
$regbattle = "/(battleye)/";
echo "<pre><code>$regbattle </code></pre>";
$result = preg_grep($regbattle, explode(",", $InfoGT));
foreach ($result as $key => $val) { echo $val; }
echo "<br><hr>";
$rehive = '/[^,]...(Hive)/';
echo "<pre><code>$rehive </code></pre>";
$result = preg_grep($rehive,explode(",", $InfoGT));
foreach ($result as $key => $val) { echo $val; }
echo "<br><hr>";
$regtimsev = "/[0-9]{1,2}[:][0-9]{1,2}/";
echo "<pre><code>$regtimsev </code></pre>";
$result = preg_grep($regtimsev, explode(",", $InfoGT));
foreach ($result as $key => $val) { echo $val; }
echo "<br><hr>";
$regmod = "/(mod)/";
echo "<pre><code>$regmod </code></pre>";
$result = preg_grep($regmod, explode(",", $InfoGT));
foreach ($result as $key => $val) { echo $val; }
echo "<br><hr>";
$regtimeacc = "/etm[0-9]{1,2}[.][0-9]{1}/";
echo "<pre><code>$regtimeacc </code></pre>";
$result = preg_grep($regtimeacc, explode(",", $InfoGT));
foreach ($result as $key => $val) {
echo trim($val,"entm.0");
// $regrep = str_replace("etm", "", $val);
// echo str_replace("00000", "", $regrep);
}
echo "<br><hr>";
$regtimeacn = "/entm[0-9]{1,2}[.][0-9]{1}/";
echo "<pre><code> $regtimeacn</code></pre> ";
$result = preg_grep($regtimeacn, explode(",", $InfoGT));
foreach ($result as $key => $val) {
echo trim($val,"entm.0");
// $regrepn = str_replace("entm", "", $val);
// echo str_replace("00000", "", $regrepn);
}
echo "<br><hr>";
/*
$re = '/(?!etm)[0-9]{1,2}[.][0-9]{1}/';
$str = 'battleye,external,privHive,shard,lqs0,etm12.000000,entm2.000000,mod,01:43';
preg_match_all($re, $str, $matches, PREG_SET_ORDER, 0);
var_dump($matches); // Print the entire match result
*/
echo "<h1>Payes ton explode</h1>";
$retest = explode(",", $InfoGT);
echo '<pre><code>';
echo $retest[0] . "|".$retest[2]. "|". $retest[3]. "|". $retest[4]. "|". $retest[8]. "|". $retest[5]. "|". $retest[6];
echo "</code></pre><hr>";
echo "<h1>Payes tes tests</h1>";
$re = '/[0-9]{1,2}[:][0-9]{1,2}/m';
preg_match_all($re, $InfoGT, $matches, PREG_SET_ORDER, 0);
// Print the entire match result
//var_dump($matches);
echo '<pre><code>'; print_r($matches); echo '</code></pre>';
echo "<br>";
$encode = json_encode($matches);
echo $encode;
echo "<br>";
//echo $matches[0];
$output = implode(",", array($InfoGT));
echo $output;
echo "<br><hr>";
echo "<h1>get_defined_vars() </h1>";
echo '<pre><code>' . print_r(get_defined_vars(), true) . '</code></pre>';
?>
<style>
pre { width:min-content; }
/*pre:hover, pre:focus { width: min-content;}*/
h1 { color: #590;}
code {
display: block;
padding: 12px;
color: #F90;
background:black;
}
</style>

141
config/statserver_json.sh Executable file
View File

@ -0,0 +1,141 @@
#!/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/home/dayz/database:/home/dayz/Dayz:/root/bin
#
# Script Bash json to sql for Dayz Server Stat
# Version : 0.1
##remise a zero ID :
# ALTER TABLE StatServer AUTO_INCREMENT=0
# DELETE FROM `StatServer`;
# TRUNCATE TABLE StatServer
#
# need to create the directory if dosen't exist an error will appear.
pathd="/home/dayz/git-DayZ-server-stat"
# create directory
varMod="server1"
# Game Port IP mod
IpGame="103.58.149.102"
PortGame="2302"
QueryGame="27016"
TABLE="StatServer_1"
DB_USER=""
DB_PASSWD=""
DB_NAME=""
DB_SERV=""
CHECKstatserver="/tmp/CHECKstatserver_${varMod}.json"
statserver="${pathd}/${varMod}/statserver.json"
gameqjson="${pathd}/${varMod}/gameqjson.json"
####### don't touch below #####
# (will change in future update)
# pathBin="/dayz/bin"
pathDBe="${pathd}/${varMod}"
# NEED to SET date
# SQL
datesql=$(date +'%F %T')
date=$(date +'%F %T')
#DEBUG:
# ls ${statserver}
########################
if [ -d ${pathd}/${varMod} ]
then
echo " ✅ Directory ${pathd}/${varMod} ok"
else
mkdir -p ${pathd}/${varMod}
echo " ✅ Directory ${pathd}/${varMod} CREATED ✅"
fi
if [ ! -r "$statserver" ]; then
echo " ⛔Error:"${statserver}" doesn't exits"
# exit 1
fi
nmapGame=`/usr/local/bin/gamedig --type dayz $IpGame:$QueryGame > ${CHECKstatserver}`
catCHECKstatserver=`cat ${CHECKstatserver}`
if [[ "$catCHECKstatserver" == *error* ]]
then
echo -e " ✅ Game is Down | port $PortGame closed! ⛔ "
insert_mysql_down && echo -e " ✅ Mysql Updated " || echo -e "\n !!!!!!!!!!!!! Huston , MYSQL issue ⛔"
# echo -e "\n Mysql updated"
exit 1
else
echo -e " ✅ Game is UP | port $PortGame OPEN ✅ !\n"
cp ${CHECKstatserver} ${statserver}
########################## not use
insert_mysql_down() {
numplayers="0"
players="0"
ping="0"
mysql --host=$DB_SERV --user=$DB_USER --password=$DB_PASSWD --database=$DB_NAME << EOF
SET NAMES utf8;
insert into $TABLE (\`date\`,\`name\`,\`game\`,\`map\`,\`version\`,\`requiredVersion\`,\`numplayers\`,\`players\`,\`maxplayers\`,\`ping\`,\`timeserver\`,\`hive\`,\`battleye\`,\`connect\`,\`secure\`) VALUES ("$datesql","OFFLINE","$game","$map","$version","$requiredVersion","$numplayers","$players","$maxplayers","$ping","$timeserver","$hive","$battleye","$connect","$secure");
EOF
}
varcat=$(cat $statserver)
name=$(echo $varcat | jq -r '.name')
map=$(echo $varcat | jq -r '.map')
password=$(echo $varcat | jq -r '.password')
game=$(echo $varcat | jq -r '.raw.game')
numplayers=$(echo $varcat | jq -r '.raw.numplayers')
version=$(echo $varcat | jq -r '.raw.version')
maxplayers=$(echo $varcat | jq -r '.maxplayers')
ping=$(echo $varcat | jq -r '.ping')
connect=$(echo $varcat | jq -r '.connect')
secure=$(echo $varcat | jq -r '.raw.secure')
requiredVersion=$(echo $varcat | jq -r '.raw.rules.requiredVersion')
island=$(echo $varcat | jq -r '.raw.rules.island')
#players=$(echo $varcat | jq -r '.players[]')
#players="on"
#gq_players=$(echo `cat ${gameqjson}` | jq -r 'gq_players')
mod=$(echo $varcat | jq -r '.raw.tags[63:66]')
hive=$(echo $varcat | jq -r '.raw.tags[18:26]')
battleye=$(echo $varcat | jq -r '.raw.tags[:8]')
timeserver=$(echo $varcat | jq -r '.raw.tags[68:]')
speedtime=$(echo $varcat | jq -r '.raw.tags[41:42]')
speedtimenight=$(echo $varcat | jq -r '.raw.tags[54:55]')
timeLeft=$(echo $varcat | jq -r '.raw.rules.timeLeft')
secure=$(echo $varcat | jq -r '.raw.secure')
serverstatus="UP"
#timeserver="00:00"
###############
# check
echo " [✔] Server UP =>> update mysql"
echo " Debug: $numplayers"
insert_mysql() {
mysql --host=$DB_SERV --user=$DB_USER --password=$DB_PASSWD --database=$DB_NAME << EOF
SET NAMES utf8;
insert into $TABLE (\`date\`,\`name\`,\`game\`,\`map\`,\`version\`,\`requiredVersion\`,\`numplayers\`,\`players\`,\`maxplayers\`,\`ping\`,\`timeserver\`,\`hive\`,\`battleye\`,\`connect\`,\`secure\`) VALUES ("$datesql","$name","$game","$map","$version","$requiredVersion","$numplayers","$players","$maxplayers","$ping","$timeserver","$hive","$battleye","$connect","$secure");
EOF
}
insert_mysql && echo -e "\n ✅ Updated Mysql " || echo -e "\n Huston ,up MYSQL issue"
fi
echo -e "\nCheck Date SQL format:"
echo $date
exit 1

34
config/table.sql Normal file
View File

@ -0,0 +1,34 @@
-- Adminer 4.7.8 MySQL dump
SET NAMES utf8;
SET foreign_key_checks = 0;
SET sql_mode = 'NO_AUTO_VALUE_ON_ZERO';
SET NAMES utf8mb4;
DROP TABLE IF EXISTS `StatServer_5`;
CREATE TABLE `StatServer_5` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`date` datetime DEFAULT NULL ON UPDATE current_timestamp(),
`name` varchar(74) NOT NULL DEFAULT 'Offline',
`players` varchar(32) NOT NULL DEFAULT '0',
`maxplayers` varchar(4) DEFAULT NULL,
`map` varchar(19) DEFAULT NULL,
`game` varchar(4) DEFAULT NULL,
`version` varchar(15) DEFAULT NULL,
`timeserver` varchar(12) DEFAULT NULL,
`timespeed` varchar(5) DEFAULT NULL,
`timespeedn` varchar(5) DEFAULT NULL,
`mods` varchar(5) DEFAULT NULL,
`battleye` tinytext DEFAULT NULL,
`hive` varchar(11) DEFAULT NULL,
`connect` varchar(32) DEFAULT NULL,
`secure` tinytext DEFAULT NULL,
`ping` varchar(3) DEFAULT '0',
PRIMARY KEY (`id`),
KEY `timeserver` (`timeserver`),
KEY `date` (`date`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- 2021-02-05 10:22:08

View File

@ -1,18 +0,0 @@
<?php
$servdb = "";
$userdb = "";
$pdb = "";
$dbname = "";
$con = new mysqli($servdb, $userdb, $pdb, $dbname);
if ($con->connect_error) {
die("Connection failed: " . $con->connect_error);
}
else
{
//echo ("Connect Successfully");
}
// $query = "SELECT date, numplayers FROM StatServer"; // select column
// $aresult = $con->query($query);
?>

BIN
favicon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

View File

@ -1,49 +0,0 @@
<link rel="stylesheet" href="https://dayz.echosystem.fr/bootstrap.min.unminify.css" crossorigin="anonymous">
<link href="https://dayz.echosystem.fr/main.css" rel="stylesheet">
<!-- Matomo -->
<script type="text/javascript">
var _paq = window._paq = window._paq || [];
/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
_paq.push(["setDomains", ["*.dayz.echosystem.fr"]]);
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
var u="https://echosystem.fr/PiwM/";
_paq.push(['setTrackerUrl', u+'matomo.php']);
_paq.push(['setSiteId', '16']);
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
g.type='text/javascript'; g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
})();
</script>
<noscript><p><img src="https://echosystem.fr/PiwM/matomo.php?idsite=16&amp;rec=1" style="border:0;" alt="" /></p></noscript>
<!-- End Matomo Code -->
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-JT9LXGJV0C"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-JT9LXGJV0C');
</script>
<!-- Dark Theme -->
<script>
$("#darkTrigger").click(function(){
if ($("body").hasClass("dark")){
$("body").removeClass("dark");
}
else{
$("body").addClass("dark");
}
});
</script>

1588
git-stats.html Normal file

File diff suppressed because it is too large Load Diff

View File

@ -1,77 +0,0 @@
<link id="theme-style" type="text/css" href="https://dayz.echosystem.fr/main.css" rel="stylesheet">
<header>
<!-- Nav bar -->
<nav class="navbar navbar-inverse navbar-fixed-top">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<!-- <div id="navbar" class="collapse navbar-right navbar-collapse"> <a href="/"><img src="https://dayz.echosystem.fr/DayZs.png" height="50" weight="200"></a></div>-->
<a class="navbar-brand" href="https://dayz.echosystem.fr/"><img src="https://dayz.echosystem.fr/images/DayZS.png" height="40" weight="100"><!--<img src="./images/dayz.png" height="30" weight="30">--> (-ToX-) </a>
</div>
<div id="navbar" class="collapse navbar-right navbar-collapse">
<ul class="nav navbar-nav">
<li ><a href="https://dayz.echosystem.fr/"> Home</a></li>
<li class=" dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false"> Servers <span class="caret"></span></a>
<ul class="dropdown-menu">
<li ><a href="https://dayz.echosystem.fr/server/Expansion"> Expansion</a></li>
<li ><a href="https://dayz.echosystem.fr/server/Namalsk"> Namalsk</a></li>
<li ><a href="https://dayz.echosystem.fr/server/Livonia"> Livonia</a></li>
<li ><a href="https://dayz.echosystem.fr/info.php">📢 Règles</a></li>
</ul>
</li>
<li ><a href="https://discord.gg/MrtVHcE6mg">🟢 Discord</a></li>
<li class=" dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">
(-TOX-) <span class=" caret"></span></a>
<ul class="dropdown-menu">
<li ><a href="https://dayz.echosystem.fr/Contact">👤 Contact</a></li>
<li ><a href="https://gam3r.echosystem.fr/?Dayz">📷 Gallery</a></li>
</ul>
</li>
<li class=" dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false"> Tools <span class="caret"></span></a>
<ul class="dropdown-menu">
<li ><a href="https://steamdb.info/app/221100/graphs">Stat DAYZ Steam</a></li>
<li ><a href="https://steamcharts.com/app/221100">DAYZ Steamcharts</a></li>
<li ><a href="https://downdetector.com/status/steam/map">Steam Down ?</a></li>
<li ><a href="https://steamstat.us">Steam Status</a></li>
<li ><a href="https://dayz.gamepedia.com/DayZ_Standalone_Wiki">WIKI DAYZ</a></li>
</ul>
</li>
<li >
<div class="dark_" style="text-align: right;padsding-right: 10px;padding-top: 15px;color: grey;" title="Dark Mode">
<form action="#">
<div class="switch">
<input id="darkTrigger" type="checkbox" class="switch-input" />
<label for="darkTrigger" class="switch-label" ></label>
</div>
</form>
</div>
</li>
</ul>
</div>
</div>
</nav>
</header>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 97 KiB

BIN
img/DayZStats.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

BIN
img/chernarus.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 132 KiB

BIN
img/dayz400.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

BIN
img/logoteam.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 MiB

419
index.php
View File

@ -1,71 +1,42 @@
<!DOCTYPE html>
<html lang="en">
<?php
$page = $_SERVER['PHP_SELF'];
$sec = "300";
//ini_set('display_errors', 'on');
//error_reporting(E_ALL); // Display all types of error
include_once('config/config.php');
include_once('config/consql.php');
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="<?php echo $sec?>;URL='<?php echo $page?>'">
<meta http-equiv="refresh" content="<?php echo $sec?>;URL='<?php echo $page?>'">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0, shrink-to-fit=no">
<meta name="description" content="(-ToX-) server Namalsk Dayz standalone Fr, namalsk island, Discord https://discord.gg/MrtVHcE6mg" />
<title>(-ToX-) DAYZ Server EXPANSION Chernarus FR/EN</title>
<title><?php echo "$title"; ?></title>
<meta name='description' content='<?php echo "$descript"; ?>'>
<meta name="author" content="Erreur32">
<link rel="shortcut icon" type="image/x-icon" href="https://dayz.echosystem.fr/favicon.ico">
<link rel="shortcut icon" type="image/x-icon" href="/favicon.ico">
<link rel="icon" type="image/png" href="/favicon.png"/>
<meta name="keyword" content="tox,server,dayz,map,namalsk,namalsk island">
<link id="theme-style" href="style_dark.css" rel="stylesheet">
<link id="theme-style" href="css/style_dark.css" rel="stylesheet">
<style>
.tab-content {
margin-top: -1px;
background: #3a4149;
border: none;
border-radius: 0 0 .25rem .25rem;
}
a,
a:visited {
color: #20A8D8;
text-decoration: none;
}
a:hover {
color: orange;
text-decoration: none;
}
.description-header {
color: #26A65B;
}
.label-danger {
background-color: #EF4836;
}
.label-warning {
background-color: #F89406;
color: white;
}
.label-success {
background-color: #26A65B;
}
.label-primary {
background-color: #4183D7;
color: green;
}
.label-info {
background-color: #5bc0de;
}
.tab-content {margin-top: -1px; background: #3a4149;border: none;border-radius: 0 0 .25rem .25rem;}
a,a:visited {color: #20A8D8;text-decoration: none;}
a:hover {color: orange; text-decoration: none;}
.description-header {color: #26A65B;}
.label-danger { background-color: #EF4836;}
.label-warning {background-color: #F89406;color: white; }
.label-success {background-color: #26A65B;}
.label-primary {background-color: #4183D7;color: green; }
.label-info { background-color: #5bc0de;}
.label {
display: inline;
padding: .2em .6em .3em;
@ -78,47 +49,14 @@ $sec = "300";
vertical-align: baseline;
border-radius: .25em;
}
.selection {
color: black !important;
}
.select2-results {
color: black !important;
}
.select2-results__option--highlighted {
background-color: #3875d7 !important;
}
.pull-left {
float: left !important;
}
.pull-right {
float: right !important;
}
.navbar-brand-logo {
margin-left: 2rem;
}
.selection { color: black !important;}
.select2-results { color: black !important;}
.select2-results__option--highlighted { background-color: #3875d7 !important;}
.pull-left { float: left !important;}
.pull-right { float: right !important;}
.navbar-brand-logo { margin-left: 2rem;}
</style>
<script>
window.dataLayer = window.dataLayer || [];
window.mobileAndTabletcheck = function() {
var check = false;
(function(a){if(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i.test(a)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(a.substr(0,4))) check = true;})(navigator.userAgent||navigator.vendor||window.opera);
return check;
};
window.mobilecheck = function() {
var check = false;
(function(a){if(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(a)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(a.substr(0,4))) check = true;})(navigator.userAgent||navigator.vendor||window.opera);
return check;
};
</script>
<?php
$time = microtime();
@ -126,20 +64,16 @@ $sec = "300";
$time = $time[1] + $time[0];
$start = $time;
include_once('./consql.php');
include_once('./config.php');
if (empty($Info['HostName'])) {
$Info['HostName'] = "<h1>OFF LINE</h1>" ;
}
if (empty($Info['HostName'])) {
$Info['HostName'] = "<h1>OFF LINE</h1>" ;
}
?>
<main class="main" style="margin-top: 10px">
<!-- Breadcrumb-->
<ol class=""></ol>
<main class="main" style="margin-top: 10px">
<!-- Breadcrumb <ol class=""></ol>-->
<div class="container-fluid">
<center><img height="" width="" src="img/DayZStats.png"></center>
<div id="ui-view">
<div class="animated fadeIn">
@ -154,25 +88,23 @@ $sec = "300";
<?php echo $Info['HostName'] ; ?>
<!--<i class="flag-icon h5 flag-icon-fr"></i>-->
</h3>
<h5><span style="color:grey;"><?php echo " $namemap" ?> </span></h5>
</h3>
<h5><span style="color:grey;"><?php echo $Info['Map']; ?> </span></h5>
<span class="label label-<?php echo $Timer > 1.0 ? 'danger' : 'success'; ?>"><?php echo $Timer; ?>s</span>
<br><small>(-ToX-) <?php //echo $urlserv; ?> <?php //echo count($objlower); ?></small>
</div>
<?php
if (empty($Info['Map'])) {
echo "</main>";
// change to our local zone !!
setlocale(LC_ALL,'french');
echo "<center><small class='text-muted'>Last time refresh</small> <br> <strong class='h4'>".date('m/d/y H:i:s')."</strong></center>";
echo "<div style=\"padding-bottom: 10%;padding-left: 20%;padding-right: 20%\"> <center><img src=\"https://steamuserimages-a.akamaihd.net/ugc/1649972925761363590/C3DC3BB6880B659518D19ECDA9610C424794EBB8/\" class=\"arrondie2\" width=\"100%\" max-height=\"20%\" height=\"auto\"></center></div></div>";
include('footer.php');
echo "<center><small class='text-muted'>Last refresh</small> <br> <strong class='h4'>".date('m/d/y H:i:s')."</strong></center>";
echo "<div style=\"padding-bottom: 10%;padding-left: 20%;padding-right: 20%\"> <center><img src=img/".$logoteam." class=\"arrondie2\" width=\"100%\" max-height=\"20%\" height=\"auto\"></center></div></div>";
exit;
}
?>
<div class="card-footer">
<div class="row" style="text-align:center;">
@ -180,11 +112,10 @@ $sec = "300";
<div class="col-md-2 col-xs-12 border-right">
<div class="description-block">
<h5 class="description-header">
<?php if (empty($Info['Players'])) {
echo "<span style='color:grey;'>"; } ?>
<?php echo $Info['Players'] ?> <span style='color:grey;'>/<?php echo $Info['MaxPlayers'] ; ?></span></span>
<?php if (empty($Info['Players'])) { echo "<span style='color:grey;'>"; } ?>
<?php echo $Info['Players']; ?> <span style='color:grey;'>/<?php echo $Info['MaxPlayers'] ; ?></span></span>
</h5>
<span class="description-text">PLAYERS</span>
<span class="description-text">PLAYERS</span>
</div>
</div>
@ -206,10 +137,13 @@ $sec = "300";
<div class="col-md-2 col-xs-12 border-right">
<div class="">
<h5 class="description-header">
<?php echo $InfoGT[67].$InfoGT[68].$InfoGT[69].$InfoGT[70].$InfoGT[71]; ?> <small style="color: grey;"> <i
class="fas fa-sun"></i><span style="color: white;">x<?php echo $InfoGT[41]; ?></span>
- <i class="fas fa-moon"></i><span style="color: white;">x<?php echo $InfoGT[54]; ?></span>
</small></h5>
<?php //echo count($modnum)
echo $timeserver ;
echo " <small style='color: grey;'><i class='fas fa-sun'></i><span style='color: white;'>x".$timespeed."</span> - <i class='fas fa-moon'></i><span style='color: white;'>x".$timespeedn." </span>";
?>
</small></h5>
<span class="description-text">GAME TIME</span>
</div>
</div>
@ -225,15 +159,14 @@ $sec = "300";
<div class="col-md-2 col-xs-12 border-right">
<div class="description-block">
<h5 class="description-header"> <?php echo $Info['Version'] ; ?></h5>
<h5 class="description-header"> <?php echo $Info['Version']; ?></h5>
<span class="description-text">SERVER VERSION</span>
</div>
</div>
<div class="col-md-2 col-xs-12">
<div class="description-block">
<h5 class="description-header"><?php echo $InfoGT[18].$InfoGT[19].$InfoGT[20].$InfoGT[21].$InfoGT[22].$InfoGT[23].$InfoGT[24].$InfoGT[25]; ?>
</h5>
<h5 class="description-header"><?php echo $hive; ?></h5>
<span class="description-text">HIVE</span>
</div>
</div>
@ -255,34 +188,21 @@ $sec = "300";
<li class="nav-item">
<a class="nav-link active show" id="overview-tab" data-toggle="tab" href="#overview" role="tab" aria-controls="overview" aria-selected="true">
<!--<i class="fas fa-home">-->
<i class="fas fa-chart-area"></i> Server Info</a>
<!--<i class="fas fa-home">-->
<i class="fas fa-chart-area"></i> Server Info</a>
</li>
<li class="nav-item">
<a class="nav-link" id="modlist-tab" data-toggle="tab" href="#modlist" role="tab" aria-controls="modlist" aria-selected="false">
<i class="fas fa-server"></i> MOD List</a>
<a class="nav-link" id="modlist-tab" data-toggle="tab" href="#modlist" role="tab" aria-controls="modlist" aria-selected="false">
<i class="fas fa-server"></i> MOD List</a>
</li>
<!--<li class="nav-item">
<a class="nav-link" id="metrics-tab" data-toggle="tab" href="#metrics" role="tab" aria-controls="metrics" aria-selected="false">
<i class="fas fa-chart-area"></i> Server Graph</a>
</li>-->
<li class="nav-item">
<a class="nav-link" id="userdata-tab" data-toggle="tab" href="#userdata" role="tab" aria-controls="userdata" aria-selected="false">
<i class="fas fa-user-check"></i> User Database</a>
</li>
<li class="nav-item"> <a class="nav-link" id="history-tab" data-toggle="tab" href="#historytab" role="tab" aria-controls="historytab" aria-selected="false">
<i class="fas fa-info"></i> 🅷 🅸 🆂 🆃 🅾 🆁 🆈 </a>
</li>
<li class="nav-item"> <a class="nav-link" id="map-tab" data-toggle="tab" href="#maptab" role="tab" aria-controls="maptab" aria-selected="false">
<i class="fas fa-map"></i> MAP</a>
</li>
<li class="nav-item">
<a class="nav-link" id="userdata-tab" data-toggle="tab" href="#userdata" role="tab" aria-controls="userdata" aria-selected="false">
<i class="fas fa-user-check"></i> User Database</a>
</li>
<li class="nav-item">
<a class="nav-link" id="map-tab" data-toggle="tab" href="#maptab" role="tab" aria-controls="maptab" aria-selected="false">
<i class="fas fa-map"></i> MAP</a>
</li>
</ul>
<div class="tab-content content_wrapper" id="tabs">
@ -291,19 +211,17 @@ $sec = "300";
<div class="tab-pane fade tab_content active show" id="overview" role="tabpanel" aria-labelledby="overview-tab">
<div class="row" style="margin-left: 30px;">
<div class="col-lg-2 col-sm-5">
<div class="callout callout-dark" style="padding:0">
<img src="image_ico.png" class="arrondie2" height="50px" width="150px">
</div>
</div>
<div class="callout callout-dark" style="padding:0">
<img src="img/<?php echo $imagemap;?>" class="arrondie2" height="50px" width="150px">
</div>
</div>
<div class="col-lg-2 col-sm-5">
<div class="callout callout-light">
<small class="text-muted">Last time refresh</small> <br>
<strong class="h4"> <?php setlocale(LC_ALL,'french'); echo date("m/d/y H:i:s"); ?></span> </strong>
<strong class="h4"> <?php setlocale(LC_ALL,'french'); echo date("m/d/y H:i:s"); ?> </strong>
<div class="chart-wrapper">
<canvas id="sparkline-chart-1" width="100" height="30"></canvas>
</div>
@ -324,7 +242,7 @@ $sec = "300";
<div class="callout callout-warning">
<small class="text-muted">MOD actif</small>
<br>
<strong class="h4"><span style="color: #FFC107;"><?php echo count($objlower); ?></span></strong>
<strong class="h4"><span style="color: #FFC107;"><?php echo count($modnum); ?></span></strong>
<div class="chart-wrapper">
<canvas id="sparkline-chart-1" width="100" height="30"></canvas>
</div>
@ -344,12 +262,11 @@ $sec = "300";
<small class="text-muted">Bans</small>
<br> <strong class="h4" style="color: #F86C6B">0</strong>
<div class="chart-wrapper">
<canvas id="sparkline-chart-1" width="100" height="30"></canvas>
</div>
<canvas id="sparkline-chart-1" width="100" height="30"></canvas>
</div>
</div>
</div>
</div>
@ -388,25 +305,11 @@ $sec = "300";
</label>
</div>
<div class="col-sm-7">
<a href="#"><?php echo $ipserv; ?></a><br>
<a href="#"><?php echo $portserv; ?></a>
<a href="#"><?php echo $ipserv; ?></a><br>
<a href="#"><?php echo $servport; ?></a>
</div>
</div>
</div>
<div class="row">
<div class="form-check form-check-inline"
style="width: 100% !important;">
<div class="col-sm-5">
<label class="col-form-label" for="date-input">
<strong>Total User</strong>
</label>
</div>
<div class="col-sm-7">
<i class="fa fa-user"></i>
</div>
</div>
</div>
<div class="row">
<div class="form-check form-check-inline"
style="width: 100% !important;">
@ -421,6 +324,20 @@ $sec = "300";
</div>
</div>
</div>
<div class="row">
<div class="form-check form-check-inline"
style="width: 100% !important;">
<div class="col-sm-5">
<label class="col-form-label" for="date-input">
<strong>Total User</strong>
</label>
</div>
<div class="col-sm-7">
<i class="fa fa-user"> <font color=orange></font></i>
</div>
</div>
</div>
<div class="row">
<div class="form-check form-check-inline"
style="width: 100% !important;">
@ -431,8 +348,8 @@ $sec = "300";
<small> From User</small-->
</label>
</div>
<div class="col-sm-7"><i class="fas fa-dot-circle" style="color:#20a8d8"></i>
800m <small> by </small> <span class="badge badge-light"> Terror_east</span>
<div class="col-sm-7"><i class="fas fa-dot-circle" style="color:#20a8d8"></i>
<font color=orange></font>
</div>
</div>
</div>
@ -440,8 +357,7 @@ $sec = "300";
<div class="row">
<div class="form-check form-check-inline"
style="width: 100% !important;">
<div class="form-check form-check-inline" style="width: 100% !important;">
<div class="col-sm-5">
<label class="col-form-label" for="date-input">
<strong>Mod information</strong>
@ -449,9 +365,8 @@ $sec = "300";
</label>
</div>
<div class="col-sm-7">
<a href="https://dayz.echosystem.fr/server/mod_namalsk2.php"><span class="badge badge-light">
<b><?php echo count($objlower); ?></b>
<span class="text-muted"> Mods </span></a>
<!--a href="mod_server.php"--><span class="badge badge-light">
<b><?php echo count($modnum); ?></b> <span class="text-muted"> Mods </span></span><!--/a-->
</div>
</div>
</div>
@ -465,7 +380,7 @@ $sec = "300";
</label>
</div>
<div class="col-sm-7">
<a style="text-decoration:none;" href='steam://connect/82.64.214.194:3201/'>
<a style="text-decoration:none;" href='steam://connect/<?php echo $ipserv.":".$queryport."/";?>'>
<span class='label label-success'> GO PLAY </span>
</a>
</div>
@ -483,8 +398,8 @@ $sec = "300";
</div>
<!-- graph home page -->
<!-- graph home page -->
<div class="col-lg-10 col-sm-16">
<div class="card">
@ -500,23 +415,20 @@ $sec = "300";
</tr>
</table>
<?php endforeach; ?>
</div>
</div>
<?php else: ?>
<div class="card-header">List players online: <?php echo $Info['Players'] ; ?></div>
<div class="card-body">
<tr>
<td colspan="2"><center><span class="btn btn-large btn-primary">( No players in game )</span></center></td> </td>
</div>
<div class="card-body">
<tr>
<td colspan="2"><center><span class="btn btn-large btn-primary">( No players in game )</span></center></td> </tr>
</div>
<?php endif; ?>
<?php endif; ?>
</div>
</div>
@ -524,20 +436,13 @@ $sec = "300";
<div class="col-lg-12 col-sm-16">
<div class="card">
<div class="card-header">Player last 24 hours</div>
<div class="card-body">
<?php include('./GraphPlayer.php'); ?>
<div class="card-header">Player count last 12 hours</div>
<div class="card-body">
<?php include('./GraphPlayer.php'); ?>
</div>
</div>
</div>
<!--
<div class="col-lg-4 col-sm-4">
<div class="card_">
</div>
</div>
-->
</div>
</div>
@ -548,7 +453,7 @@ $sec = "300";
<div class="tab-pane tab_content fade" id="modlist" role="tabpanel" aria-labelledby="modlist-tab">
<div class="row">
<div class="row">
<div class="col-lg-5 col-sm-12">
<div class="card">
@ -560,8 +465,8 @@ $sec = "300";
<p class="before-list">
<center>
<span style="padding: 5px 0px 2px 20px;"><?php echo count($objlower); ?> MODS </span>
<span style="padding: 5px 0px 2px 20px;">IP: <span style="color: orange;"><?php echo $urlserv; ?> </span></span>
<span style="padding: 5px 0px 2px 20px;"><?php echo count($modnum); ?> MODS </span>
<span style="padding: 5px 0px 2px 20px;">IP: <a href="http://<?php echo $ipserv.":".$modport;?>"><span style="color: orange;"><?php echo $ipserv.":".$modport;?></span></a></span>
</center>
</p>
@ -577,8 +482,8 @@ $sec = "300";
<tbody>
<tr><td><br></td><td></td><br></tr>
<?php $objlower=json_decode($json); //converts to an array of objects
foreach( $objlower as $item ) { ?>
<?php $modnum=json_decode($json); //converts to an array of objects
foreach( $modnum as $item ) { ?>
<tr>
<td><a href="http://steamcommunity.com/sharedfiles/filedetails/?id=<?php echo $item->steamWorkshopId?>" data-type="Link"><?php echo $item->name; ?></a></td>
</tr>
@ -596,17 +501,14 @@ $sec = "300";
<!-- tab Metrics Graph -->
<!-- tab Metrics Graph -->
<div class="tab-pane tab_content fade" id="metrics" role="tabpanel" aria-labelledby="metrics-tab">
<div class="row">
<div class="col-lg-6 col-sm-8">
<div class="card">
<div class="card-header">Player population 24 hours</div>
<div class="card-body"><br>
<!-- <iframe src="graph.php" frameborder="0" allowfullscreen scrolling="no"
style="margin:auto;width:100%;height:395px;" security="restricted"></iframe> -->
<?php // include('graph.php'); ?>
</div>
@ -617,8 +519,6 @@ $sec = "300";
<div class="card" style="margin: 0 auto; height: 500px; width: 100%;">
<div class="card-header"> line-chart </div>
<div class="card-body"><center>
<!-- <iframe src="line-chart1.php" frameborder="0"
allowfullscreen scrolling="no" style="overflow:hidden;width:100%;height:450px;" security="restricted"></iframe> -->
</center>
</div>
@ -641,30 +541,18 @@ $sec = "300";
</div>
<!-- HISTORY List -->
<div class="tab-pane tab_content fade" id="historytab" role="tabpanel" aria-labelledby="history-tab">
<div class="col-lg-12 col-sm-12">
<div class="card">
<div class="card-header" style="padding: 15px;"> <i class="fas fa-search"></i> Namalsk Island </div>
<div style="padding:15px;">
<img src="https://dayz.echosystem.fr/server/Namalsk/image_ico.png" alt="Namalsk island" style="width:100%;max-width:800px;max-height:450px;height:auto;" class="arrondie2 ban">
<?php include('info.php'); ?>
</div>
</div>
</div>
</div>
<!-- MAP tab -->
<div class="tab-pane tab_content fade" id="maptab" role="tabpanel" aria-labelledby="map-tab">
<div class="col-lg-12 col-sm-12">
<div class="card">
<div class="card-header" style="padding: 15px;"> <i class="fas fa-map"></i> Namalsk Island </div>
<a href="https://dayz.echosystem.fr/server/Namalsk/namalsk_map2.png">
<!-- <img src="https://dayz.echosystem.fr/server/Namalsk/namalsk_map2.png" style="width:100%;max-width:1200px;height:auto;padding:5px;" class="arrondie2"></a>-->
<img src="https://dayz.echosystem.fr/server/Namalsk/namalsk_map_hd.png" style="width:100%;max-width:1200px;height:auto;padding:5px;" class="arrondie2"></a>
<div class="card-header" style="padding: 15px;"> <i class="fas fa-map"></i> MAP <span style='color: grey;'><?php echo $Info['Map']; ?></span> </div>
<!--a href=""--> <div style="width:100%;height:620px;">
<iframe src="https://dayz.ginfo.gg/<?php echo $Info['Map']; ?>/#c=37;-4;3" frameborder="0" allowfullscreen style="width:100%;height:600px;" security="restricted"></iframe>
<!--img src="img/imagemap.jpg" style="width:100%;max-width:1200px;height:auto;padding:5px;" class="arrondie2" -->
</div>
<!--/a-->
</div>
</div>
</div>
@ -678,14 +566,16 @@ $sec = "300";
<div class="card-header"> <i class="fas fa-user-check"></i> User registered </div>
<div style="position:relative;padding-top:56.25%;">
<iframe src="Players" frameborder="0" allowfullscreen style="position:absolute;top:0;left:0;width:100%;height:100%;" security="restricted"></iframe>
</div>
</div>
</div>
</div>
<!-- end tabs -->
<!-- end tabs -->
</div>
</div>
@ -700,26 +590,10 @@ $sec = "300";
<!-- menu droite -->
<!--/div-->
<footer class="app-footer">
<div style="text-align:center;"> <span style="text-align:center;"> © 2020 (-ToX-) - <a href="https://git.echosystem.fr/Erreur32/DayZ-Stat-Server">Dayz-server-stats</a> by <a href="">Erreur32</a> </span>
<!-- <div class="dark_" style="text-align: right;padsding-right: 10px;padding-top: 15px;color: grey;" title="Dark Mode">
<form action="#">
<div class="switch">
<input id="darkTrigger" type="checkbox" class="switch-input" />
<label for="darkTrigger" class="switch-label" ></label>
</div>
</form>
</div>-->
</div>
<div class="ml-auto">
<div style="text-align:center;"> <span style="text-align:center;"> 🆃🅾🆇 © 2020 - <a href="https://git.echosystem.fr/Erreur32/DayZ-Stat-Server">Dayz-server-stats</a> by <a href="https://echosystem.fr/erreur32">Erreur32</a> </span>
</div>
<div class="ml-auto"> <a href="server.json.php">JSON </a> |
<?php
$time = microtime();
$time = explode(' ', $time);
@ -731,13 +605,14 @@ $sec = "300";
</div>
</footer>
<script src="./bootstrap.min.js"></script>
<script src="./graph_loader.js"></script>
<!-- menu deroulant
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> -->
<script src="https://kit.fontawesome.com/9ba5e91dd6.js" crossorigin="anonymous"></script>
<script src="https://code.jquery.com/jquery-3.3.1.js"></script>
<script src="js/bootstrap.min.js"></script>
<script src="js/graph_loader.js"></script>
<script src="js/switch.js"></script>
<!-- menu deroulant -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script src="https://kit.fontawesome.com/9ba5e91dd6.js" crossorigin="anonymous"></script>
<style>
.tab-content {
@ -821,7 +696,9 @@ $sec = "300";
</style>
<link rel="stylesheet" type="text/css" href="dark.css" />
<!-- not implanted -->
<link rel="stylesheet" type="text/css" href="css/dark.css" />
<!-- Dark Theme -->
<script>
$("#darkTrigger").click(function(){
@ -833,17 +710,3 @@ $sec = "300";
}
});
</script>
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-KZ70E6176C"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-KZ70E6176C');
</script>

View File

@ -1,90 +0,0 @@
<meta name="description" content="(-ToX-) server Namalskk Dayz standalone Fr, namalsk island , Discord https://discord.gg/MrtVHcE6mg" />
<div class="contents-2mQqc9" role="document" style="padding: 15px;">
<!--
<img src="https://dayz.echosystem.fr/server/Namalsk/image_ico.png" alt="Namalsk island" width="100%" max-height="20%" height="auto" class="arrondie2 ban">
-->
<br>
<h1><span class="username-1A8OIy clickable-1bVtEA" aria-controls="popout_55" aria-expanded="false" style="color: rgb(43 173 222);" role="button" tabindex="0">
Namalsk</span></h1>
<span> 🅷 🅸 🆂 🆃 🅾 🆁 🆈 </span>
<br><br>
<strong>Namalsk</strong> est une terre gelée et sauvage.<br><br>
🗻 elle propulse le joueur dans sur une nouvelle île dans des zones <strong>mystérieuses</strong> et<strong> sauvages</strong>, à <strong>l'ambiance oppressante</strong>.<br>
🗺️ <em> La carte permet d'offrir une nouvelle expérience, où le joueur sentira très vite la solitude et l'inquiétude l'envahir. <br>
🌡️ Elle ajoute également la gestion de la température corporelle en permanence.</em>
<br><br>
❄️ <strong>Namalsk</strong> étant une région glaciale, le joueur devra trouver de quoi se réchauffer sous peine de tomber malade et d'être parcouru de tremblements de plus en plus violents compliquant singulièrement la visée.
<br><br>
<h3> Pour ce faire</h3>
il faudra trouver de quoi faire <strong>un feu</strong> 🔥 , ou posséder des <strong>heat packs</strong> 🌡️ (chaufferettes).<br>
Pensez aussi à s'abriter... et 🔪 Mangez le plus possible les animaux. 🦌 <br>
De nouveaux objets et nouvelles armes 🔫 sont également de la partie.<br><br>
Si le joueur n'aura pas de difficultés à trouver du matériel militaire pour s'armer , <br>
<strong> il est par contre plus difficile pour trouver de quoi se nourrir, s'abreuver 💧 et se soigner. 💉</strong><br>
<strong> 💦 Le froid se fera de plus en plus mordant au fur-et-à-mesure que le joueur grimpera dans les hauteurs. 🌀 </strong>
<!--
🔥 🦌 🎄🍴🎿 ❗🧤
🏔️ ❄️ 🗺️ 〽️ 👹 💦 💧 🌡️ Thermometer 🧊 Ice
-->
<br><br><hr>
<h2 style="color: orange;"> 💡 INFORMATION 🚨</h2>
<br>
<h3> 💥 Blowout</h3>
Des sortes d'éruptions d'energie sur toute la carte qui irradient les joueurs.
A chacun de ces orages, dont le nombre varie en fonction de la configuration des serveurs (allant de une fois par heure à une fois par jour, en passant par jamais), le joueur devra s'abriter en vitesse s'il ne tient pas à mourir.
- En effet, cet éruption fait à la fois perdre connaissance et retire 6 000 unités de sang (sur 12 000 pour un joueur en parfaite santé).<br>
<br>
<h3> 👹 Les Bloodsuckers </h3>
Des créatures avides de sang humain, rapides, et qui ont de plus la capacité de se rendre invisibles (sauf les yeux).
La difficulté réside, outre le fait qu'il faille un grand nombre de balles pour en venir à bout (une grande quantité d'unités de sang), dans le fait que le bloodsucker ne redevient visible que lorsqu'il attaque...Si jamais cette créature vous blesse, pas de saignements ou d'infection, mais une vision troublée, des mouvements ralentis et une incapacité à tirer.<br>
Elle court à la même vitesse que les zombies mais est en revanche capable de continuer à courir à l'intérieur des bâtiments. <br><br>
<span style="color: red;">
A noter qu'il est impossible d'échapper à un bloodsucker en fuyant en ligne droite ou en se réfugiant à l'intérieur d'un bâtiment, ou d'une forêt. Ils traqueront le joueur, même s'ils ne le voient plus.</span><br>
<br>
<h3> 🔫 ER7 RFW</h3>
Derrière ce nom se cache un fusil sniper electromagnétique, de science-fiction, infligeant des dégâts monstrueux qui tue instantanément la cible dans un rayon de 2 km.<br>
Le projectile tiré n'est aucunement affecté par la gravité et touche sa cible sans lui laisser le temps de s'évader. <br>
Le ER7 RFW n'apparait que dans les bunkers de Namalsk, avec une infime chance d'effectivement de s'y trouver lors de votre visite. <br>
les munitions sont rares et apparaissent à un endroit différent. Il ne peut y avoir qu'UN SEUL ER7 RFW à la fois sur le même serveur.<br>
<br><br><hr>
<h2 style="color: red;" > 💊 Conseils de survie ! </h2>
<br>
- Gardez un oeil sur votre température corporelle. Elle descend plus vite qu'elle ne remonte. <br>
- Evitez de vous engager dans les hauteurs si vous n'avez pas de quoi vous réchauffer. <br>
- Evitez également de rester immobile, n'hésitez pas à aller vous réfugier dans un bâtiment ou un véhicule afin d'éviter d'avoir trop froid.<br>
<br><br>
💥 En cas de blowout, ne trainez vraiment pas pour vous mettre à l'abri. <br>
<u>S'évanouir au milieu d'une horde de zombies affamés n'est clairement pas la meilleure idée que vous ayez eu. <br></u>
Il est possible de se prémunir contre les blowout grâce à un appareil : l'APSI, ou Anti PSI. <br>
Cet appareil vous avertit entre 10 à 15 secondes avant le début de l'éruption (pratique pour prévenir vos alliés qui n'en ont pas), et vous protége contre l'évanouissement (éventuellement) et la perte de sang. <br>
<br><br>
👹 Les Bloodsuckers s'entendent avant de se voir. Si vous ne possédez pas de bonnes armes, ou si vous jouez seul et que votre meilleur équipement se résume à une hache, fuyez !<br>
Une fois qu'ils vous ont senti, vous n'avez que très peu de chances de vous en débarasser.<br><br>
De même, lorsqu'ils sont invisibles, leurs yeux eux, ne le sont pas. Et bien qu'il soit très difficile de les voir de journée, gardez un oeil ouvert. A noter que ces créatures vivent dans les hauteurs.
<br><br>
<br> 〽️ Bonne chance et à Bientôt sur Namalsk ❄️
<br><br><h1>(-ToX-)</h1>
</div>
<style>
hr {
border: 5px solid green;
border-radius: 5px;
width: 40%;
}
</style>

133
mods.php Normal file
View File

@ -0,0 +1,133 @@
<!DOCTYPE html>
<html lang="en">
<?php
//$page = $_SERVER['PHP_SELF'];
//$sec = "300";
ini_set('display_errors', 'on');
error_reporting(E_ALL); // Display all types of error
ini_set('max_execution_time', 2); //300 seconds = 5 minutes
ini_set('default_socket_timeout', 2); // 100 seconds = 1 Minutes 40 sec
include_once('config/config.php');
include_once('config/consql.php');
?>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0, shrink-to-fit=no">
<!--
<title><?php echo "MODS on TOX server"; ?></title>
<meta name='description' content='<?php echo "$descript"; ?>'>
-->
<meta name="author" content="Erreur32">
<link rel="shortcut icon" type="image/x-icon" href="/favicon.ico">
<link rel="icon" type="image/png" href="/favicon.png"/>
<meta name="keyword" content="tox,server,dayz,map,namalsk,namalsk island">
<!-- <link id="theme-style" href="css/style_dark.css" rel="stylesheet">-->
<style>
.tab-content {margin-top: -1px; background: #3a4149;border: none;border-radius: 0 0 .25rem .25rem;}
a,a:visited {color: #20A8D8;text-decoration: none;}
a:hover {color: orange; text-decoration: none;}
.description-header {color: #26A65B;}
.label-danger { background-color: #EF4836;}
.label-warning {background-color: #F89406;color: white; }
.label-success {background-color: #26A65B;}
.label-primary {background-color: #4183D7;color: green; }
.label-info { background-color: #5bc0de;}
.label {
display: inline;
padding: .2em .6em .3em;
font-size: 75%;
font-weight: 700;
line-height: 1;
color: #fff;
text-align: center;
white-space: nowrap;
vertical-align: baseline;
border-radius: .25em;
}
.selection { color: black !important;}
.select2-results { color: black !important;}
.select2-results__option--highlighted { background-color: #3875d7 !important;}
.pull-left { float: left !important;}
.pull-right { float: right !important;}
.navbar-brand-logo { margin-left: 2rem;}
</style>
<br>
<hr>
<?php
// OK
//$homepage = file_get_contents('http://dayz.echosystem.fr');
//echo $homepage;
echo "<br>";
$w = stream_get_wrappers();
echo 'openssl: ', extension_loaded ('openssl') ? 'yes':'no', "\n<br>";
echo 'http wrapper: ', in_array('http', $w) ? 'yes':'no', "\n<br>";
echo 'https wrapper: ', in_array('https', $w) ? 'yes':'no', "\n<br>";
echo 'wrappers: ', var_export($w);
// exit
?>
<br><hr>
<div class="tab-pane tab_content fade" id="modlist" role="tabpanel" aria-labelledby="modlist-tab">
<div class="row">
<div class="col-lg-5 col-sm-12">
<div class="card">
<div class="card-header"><i class="fas fa-users"></i>
MOD list on <span style="color:grey;"><?php echo $Info['HostName'] ; ?></span>
</div>
<div class="card-body">
<p class="before-list">
<center>
<span style="padding: 5px 0px 2px 20px;"><?php echo count($modnum); ?> MODS </span>
<span style="padding: 5px 0px 2px 20px;">IP: <a href="http://<?php echo $ipserv.":".$modport;?>"><span style="color: orange;"><?php echo $ipserv.":".$modport;?></span></a></span>
</center>
</p>
<table class="table_ table-bordered_ table-striped_">
<thead>
<tr>
<th style="text-align:left;"><span class='label label-info'>MOD Name</span>
</th>
<!-- <th><span class='label label-info'>steamWorkshopId</span></th>-->
</tr>
</thead>
<tbody>
<tr><td><br></td><td></td><br></tr>
<?php // $modnum=json_decode($json0); //converts to an array of objects
foreach( $modnum as $item ) { ?>
<tr>
<td><a href="http://steamcommunity.com/sharedfiles/filedetails/?id=<?php echo $item->steamWorkshopId; ?>" data-type="Link"><?php echo $item->name; ?></a></td>
</tr>
<?php } ?>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 376 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.2 MiB

51
server.json.php Normal file
View File

@ -0,0 +1,51 @@
<?php
//ini_set('display_errors', 'on');
// include_once('./consql.php');
// MAKE json
//header("Content-Type: application/json; charset=UTF-8; pageEncoding=UTF-8");
include_once('config/config.php');
// include_once('config/consql.php');
/*
$out = array_values($Info);
$json2echo = json_encode($out, JSON_INVALID_UTF8_IGNORE | JSON_INVALID_UTF8_SUBSTITUTE | JSON_HEX_TAG | JSON_HEX_APOS | JSON_HEX_QUOT | JSON_HEX_AMP | JSON_UNESCAPED_UNICODE | JSON_THROW_ON_ERROR);
print_r($json2echo);
*/
//$json2echo = json_encode($Info, true);
//echo $json2echo ;
// print json server
echo "<pre><code>";
print_r($Info);
echo "</code></pre>";
// test REGEX
echo "<h1>Parser JSON </h1><code1>";
echo "Hostname: <strong> " .$HostName . "</strong><br>";
echo "Players: <strong>" .$PLayers . "</strong><br>";
echo "MaxPlayers: <strong>" .$MaxPlayers . "</strong><br>";
echo "Secure: <strong>" .$Secure . "</strong><br>";
echo "Map: <strong>" .$Map . "</strong><br>";
echo "Os: <strong>" .$Os . "</strong><br>";
echo "Version: <strong>" .$Version . "</strong><br>";
echo "Port: <strong>" .$GamePort . "</strong><br>";
echo "Time server: <strong>" .$timeserver ."</strong><br>";
echo "Timespeed: <strong>" .$timespeed ."</strong><br>";
echo "Timespeed night: <strong>".$timespeedn ."</strong><br>";
echo "Battleye: <strong>" .$battleye ."</strong><br>";
echo "Hive: <strong>" .$hive ."</strong><br>";
echo "</code1>";
?>
<style>
pre { width:min-content; }
/*pre:hover, pre:focus { width: min-content;}*/
h1 { color: #590;}
code { display: block; padding: 12px; color: #F90; background:black; }
</style>