MyBB Internal: One or more warnings occurred. Please contact your administrator for assistance.
MyBB Internal: One or more warnings occurred. Please contact your administrator for assistance.
MyBB Internal: One or more warnings occurred. Please contact your administrator for assistance.
MyBB Internal: One or more warnings occurred. Please contact your administrator for assistance.
MyBB Internal: One or more warnings occurred. Please contact your administrator for assistance.
MyBB Internal: One or more warnings occurred. Please contact your administrator for assistance.
MyBB Internal: One or more warnings occurred. Please contact your administrator for assistance.
MyBB Internal: One or more warnings occurred. Please contact your administrator for assistance.
MyBB Internal: One or more warnings occurred. Please contact your administrator for assistance.
MyBB Internal: One or more warnings occurred. Please contact your administrator for assistance.
MyBB Internal: One or more warnings occurred. Please contact your administrator for assistance.
MyBB Internal: One or more warnings occurred. Please contact your administrator for assistance.
MyBB Internal: One or more warnings occurred. Please contact your administrator for assistance.
MyBB Internal: One or more warnings occurred. Please contact your administrator for assistance.
MyBB Internal: One or more warnings occurred. Please contact your administrator for assistance.
MyBB Internal: One or more warnings occurred. Please contact your administrator for assistance.
MyBB Internal: One or more warnings occurred. Please contact your administrator for assistance.
MyBB Internal: One or more warnings occurred. Please contact your administrator for assistance.
MyBB Internal: One or more warnings occurred. Please contact your administrator for assistance.
MyBB Internal: One or more warnings occurred. Please contact your administrator for assistance.
MyBB Internal: One or more warnings occurred. Please contact your administrator for assistance.
MyBB Internal: One or more warnings occurred. Please contact your administrator for assistance.
MyBB Internal: One or more warnings occurred. Please contact your administrator for assistance.
MyBB Internal: One or more warnings occurred. Please contact your administrator for assistance.
MyBB Internal: One or more warnings occurred. Please contact your administrator for assistance.
MyBB Internal: One or more warnings occurred. Please contact your administrator for assistance.
MyBB Internal: One or more warnings occurred. Please contact your administrator for assistance.
MyBB Internal: One or more warnings occurred. Please contact your administrator for assistance.
MyBB Internal: One or more warnings occurred. Please contact your administrator for assistance.
MyBB Internal: One or more warnings occurred. Please contact your administrator for assistance.
MyBB Internal: One or more warnings occurred. Please contact your administrator for assistance.
MyBB Internal: One or more warnings occurred. Please contact your administrator for assistance.
MyBB Internal: One or more warnings occurred. Please contact your administrator for assistance.
MyBB Internal: One or more warnings occurred. Please contact your administrator for assistance.
MyBB Internal: One or more warnings occurred. Please contact your administrator for assistance.
MyBB Internal: One or more warnings occurred. Please contact your administrator for assistance.
MyBB Internal: One or more warnings occurred. Please contact your administrator for assistance.
MyBB Internal: One or more warnings occurred. Please contact your administrator for assistance.
MyBB Internal: One or more warnings occurred. Please contact your administrator for assistance.
MyBB Internal: One or more warnings occurred. Please contact your administrator for assistance.
MyBB Internal: One or more warnings occurred. Please contact your administrator for assistance.
MyBB Internal: One or more warnings occurred. Please contact your administrator for assistance.
MyBB Internal: One or more warnings occurred. Please contact your administrator for assistance.
MyBB Internal: One or more warnings occurred. Please contact your administrator for assistance.
MyBB Internal: One or more warnings occurred. Please contact your administrator for assistance.
MyBB Internal: One or more warnings occurred. Please contact your administrator for assistance.
MyBB Internal: One or more warnings occurred. Please contact your administrator for assistance.
MyBB Internal: One or more warnings occurred. Please contact your administrator for assistance.
Another Game Server Banner :D
Thread Rating:
0 Vote(s) - 0 Average
1
2
3
4
5
Another Game Server Banner :D
Posts: 2,440
Threads: 73
Joined: May 2009
Reputation:
33
11-16-2009, 06:07 PM
(This post was last modified: 11-16-2009, 06:14 PM by loopyman .)
I was bored and went digging through files, rather than using an image background I just used a solid color, I will further develop upon this and make it better.
Here are some basics:
1. Icons for GameType / Operating System
2. Shows: Players, Name, IP, and Map
To Do:
1. Make a whole bunch of damn flag icons and show server location.
2. Create a banner creator page where you can generate your own banners with different images, and upload your own!
3. Fix hard edges on icons.
4. Add more game icons.
5. Changeable text color and font.
Examples: ( These are real time )
Looking for a game server? Visit
fullfrag.com and pick one up as low as $2.50 / mo!
Posts: 1,321
Threads: 85
Joined: Feb 2008
Reputation:
11
Posts: 2,440
Threads: 73
Joined: May 2009
Reputation:
33
11-16-2009, 07:20 PM
(This post was last modified: 11-16-2009, 07:24 PM by loopyman .)
I'm not the best at PHP, but I know enough...
I'm nazi about my source code because its sloppy, I will share this version only.
PHP Code:
<?php
/* SOURCE ENGINE QUERY FUNCTION, requires the server ip:port */
function source_query ( $ip ){
$cut = explode ( ":" , $ip );
$HL2_address = $cut [ 0 ];
$HL2_port = $cut [ 1 ];
$HL2_command = "\377\377\377\377TSource Engine Query\0" ;
$HL2_socket = fsockopen ( "udp://" . $HL2_address , $HL2_port , $errno , $errstr , 3 );
fwrite ( $HL2_socket , $HL2_command );
$JunkHead = fread ( $HL2_socket , 4 );
$CheckStatus = socket_get_status ( $HL2_socket );
if( $CheckStatus [ "unread_bytes" ] == 0 )return 0 ;
$do = 1 ;
while( $do ){
$str = fread ( $HL2_socket , 1 );
$HL2_stats .= $str ;
$status = socket_get_status ( $HL2_socket );
if( $status [ "unread_bytes" ] == 0 ){
$do = 0 ;
}
}
fclose ( $HL2_socket );
$x = 0 ;
while ( $x <= strlen ( $HL2_stats )){
$x ++;
$result .= substr ( $HL2_stats , $x , 1 );
}
// ord ( string $string );
$result = str_split ( $result );
$info [ 'network' ] = ord ( $result [ 0 ]); $char = 1 ;
while( ord ( $result [ $char ]) != "%00" ){ $info [ 'name' ] .= $result [ $char ]; $char ++;} $char ++;
while( ord ( $result [ $char ]) != "%00" ){ $info [ 'map' ] .= $result [ $char ]; $char ++;} $char ++;
while( ord ( $result [ $char ]) != "%00" ){ $info [ 'dir' ] .= $result [ $char ]; $char ++;} $char ++;
while( ord ( $result [ $char ]) != "%00" ){ $info [ 'description' ] .= $result [ $char ]; $char ++;} $char ++;
$info [ 'appid' ] = ord ( $result [ $char ]. $result [( $char + 1 )]); $char += 2 ;
$info [ 'players' ] = ord ( $result [ $char ]); $char ++;
$info [ 'max' ] = ord ( $result [ $char ]); $char ++;
$info [ 'bots' ] = ord ( $result [ $char ]); $char ++;
$info [ 'dedicated' ] = ord ( $result [ $char ]); $char ++;
$info [ 'os' ] = chr ( ord ( $result [ $char ])); $char ++;
$info [ 'password' ] = ord ( $result [ $char ]); $char ++;
$info [ 'secure' ] = ord ( $result [ $char ]); $char ++;
while( ord ( $result [ $char ]) != "%00" ){ $info [ 'version' ] .= $result [ $char ]; $char ++;}
return $info ;
}
$ip = $_GET [ 'ip' ];
$port = $_GET [ 'port' ];
$color = $_GET [ 'color' ];
if( strlen ( $color ) == 6 )
{
$hex = sscanf ( $color , '%2x%2x%2x' );
$r = $hex [ 0 ];
$g = $hex [ 1 ];
$b = $hex [ 2 ];
}
else
{
$hex [ 0 ] = 0 ;
$hex [ 1 ] = 0 ;
$hex [ 2 ] = 0 ;
}
$q = source_query ( $ip . ':' . $port );
$servername = $q [ 'name' ];
$servermap = $q [ 'map' ];
$servermaxplayers = $q [ 'max' ];
$servertotalplayers = $q [ 'players' ];
$bg = 'bg3' ;
if( $q [ 'os' ] == 'w' )
{
$os = 'windows' ;
}
else
{
$os = 'linux' ;
}
switch ( $q [ 'appid' ])
{
case 240 :
$game = 'css' ;
break;
case 440 :
$game = 'tf2' ;
break;
case 160 :
$game = 'gmod' ;
break;
default:
$game = 'hl2' ;
break;
}
$oslogo = imagecreatefromgif ( 'logo/' . $os . '.gif' );
$gamelogo = imagecreatefromgif ( 'logo/' . $game . '.gif' );
$image = imagecreatetruecolor ( 400 , 40 );
$bg = imagecolorallocate ( $image , $r , $g , $b );
imagefilledrectangle ( $image , 0 , 0 , 399 , 39 , $bg );
if( $q [ 'password' ] == '1' )
{
$locklogo = imagecreatefromgif ( 'logo/lock.gif' );
imagecopymerge ( $image , $locklogo , 41 , 21 , 0 , 0 , 16 , 16 , 100 );
imagedestroy ( $locklogo );
}
imagecopymerge ( $image , $oslogo , 4 , 21 , 0 , 0 , 16 , 16 , 100 );
imagecopymerge ( $image , $gamelogo , 23 , 21 , 0 , 0 , 16 , 16 , 100 );
imagedestroy ( $oslogo );
imagedestroy ( $gamelogo );
// Prepare Colours
//int imagecolorallocatealpha ( resource $image , int $red , int $green , int $blue , int $alpha )
$green = imagecolorallocate ( $image , 0 , 255 , 0 );
$white = imagecolorallocate ( $image , 255 , 255 , 255 );
// Prepare Font
$font = 'font/arial.ttf' ;
$bold = 'font/StencilStd.otf' ;
// Prepare Dimension Variables
$height = imagesy ( $image );
$width = imagesx ( $image );
$text_area_height = 0 ;
imagettftext ( $image , 10 , 0 , 5 , 16 , $white , $font , $servertotalplayers . '/' . $servermaxplayers . ' - ' . $servername );
imagettftext ( $image , 10 , 0 , 60 , 34 , $green , $font , 'IP: ' . $ip . ':' . $port . ' Map: ' . $servermap );
// array imagettftext ( resource $image , float $size , float $angle , int $x , int $y , int $color , string $fontfile , string $text )
// Send image to browser as PNG
header ( "Content-type: image/png" );
imagepng ( $image );
?>
Ignore how I did some things, I know there are simpler ways, This isn't my cleaned up code, I had a bit of debugging to do, so bits and pieces are left.
Looking for a game server? Visit
fullfrag.com and pick one up as low as $2.50 / mo!
Users browsing this thread: 1 Guest(s)