webroot/http/serverlog.ps1
@"
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>7 Days To Die - Cindar's World</title> <!--STYLESHEET--> <!--=================================================--> <!--Open Sans Font [ OPTIONAL ]--> <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,300,600,700' rel='stylesheet' type='text/css'> <!--Bootstrap Stylesheet [ REQUIRED ]--> <link href="css/bootstrap.min.css" rel="stylesheet"> <!--Nifty Stylesheet [ REQUIRED ]--> <link href="css/nifty.min.css" rel="stylesheet"> <!--Nifty Premium Icon [ DEMONSTRATION ]--> <link href="css/demo/nifty-demo-icons.min.css" rel="stylesheet"> <!--Demo [ DEMONSTRATION ]--> <link href="css/demo/nifty-demo.min.css" rel="stylesheet"> <!--Morris.js [ OPTIONAL ]--> <link href="plugins/morris-js/morris.min.css" rel="stylesheet"> <!--Magic Checkbox [ OPTIONAL ]--> <link href="plugins/magic-check/css/magic-check.min.css" rel="stylesheet"> <!-- Font Awesome --> <link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.css" rel="stylesheet"> <!--JAVASCRIPT--> <!--=================================================--> <!--Pace - Page Load Progress Par [OPTIONAL]--> <link href="plugins/pace/pace.min.css" rel="stylesheet"> <script src="plugins/pace/pace.min.js"></script> <!--jQuery [ REQUIRED ]--> <script src="js/jquery.min.js"></script> <!--BootstrapJS [ RECOMMENDED ]--> <script src="js/bootstrap.min.js"></script> <!--NiftyJS [ RECOMMENDED ]--> <script src="js/nifty.min.js"></script> <!--=================================================--> <!--Demo script [ DEMONSTRATION ]--> <script src="js/demo/nifty-demo.min.js"></script> </head> <!--TIPS--> <!--You may remove all ID or Class names which contain "demo-", they are only used for demonstration. --> <body> <div id="container" class="effect aside-float aside-bright mainnav-lg"> <!--NAVBAR--> <!--===================================================--> <header id="navbar"> <div id="navbar-container" class="boxed"> <!--Brand logo & name--> <!--================================--> <div class="navbar-header"> <a href="index.html" class="navbar-brand"> <img src="img/7dtd_logo.png" class="brand-icon"> <div class="brand-title"> <span class="brand-text">Cindar's World</span> </div> </a> </div> <!--================================--> <!--End brand logo & name--> <!--Navbar Dropdown--> <!--================================--> <div class="navbar-content clearfix"> <ul class="nav navbar-top-links pull-left"> <!--Navigation toggle button--> <!--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--> <li class="tgl-menu-btn"> <a class="mainnav-toggle" href="#"> <i class="demo-pli-view-list"></i> </a> </li> <!--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--> <!--End Navigation toogle button--> </ul> <ul class="nav text-center"> <!--Updated Timer--> <!--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--> <li> <div class="username">Last Updated: 12/19/2017 14:22</div></center> </li> <!--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--> <!--End Updated Timer--> </ul> </div> <!--================================--> <!--End Navbar Dropdown--> </div> </header> <!--===================================================--> <!--END NAVBAR--> <div class="boxed"> <!--CONTENT CONTAINER--> <!--===================================================--> <div id="content-container"> <!--Page content--> <!--===================================================--> <div id="page-content"> <div class="row"> <div class="col-lg-12"> <!-- Timeline --> <!--===================================================--> <div class="timeline"> <!-- Timeline header --> <div class="timeline-header"> <div class="timeline-header-title bg-purple">Server Started</div> </div> $( #Init Variables $PlayerNames = @{} #Get Most Recent Log Then Reverse The Contents So Newest Info Is Written To Site First $Log = Get-ChildItem "C:\Games\7DaysToDie\7DaysToDieServer_Data" | Where {$_.Name -like "*output_log__*"} | Select -last 1 $LogContents = $(Get-Content "C:\Games\7DaysToDie\7DaysToDieServer_Data\$Log") #[array]::Reverse($LogContents) - Will Reverse When Ready To Read Log Backwards $LogContents | ForEach-Object { #Clear Parse Buffer $Command = "" #Parse The Statement Against Known Server Events Switch -Wildcard ($_) { #Server Started "*GameServer.LogOn successful*" { #Parse The Date $TimeDelta = $((Get-Date) - [datetime]$($_.Split(" ")[0])) #Parse The Command And Write The HTML "<div class='timeline-entry'>" "<div class='timeline-stat'>" "<div class='timeline-icon bg-success'><i class='fa fa-play-circle fa-2x'></i></div>" "<div class='timeline-time'>" IF($($TimeDelta.Days) -gt 0){"$($TimeDelta.Days) days ago"} ElseIf($($TimeDelta.Hours) -gt 0) {"$($TimeDelta.Hours)h ago"} ElseIf($($TimeDelta.Minutes) -gt 0){"$($TimeDelta.Minutes) mins ago"} ElseIf($($TimeDelta.Minutes) -lt 0){"just now"} "</div>" "</div>" "<div class='timeline-label'>" "<p class='text-main text-semibold'>Server Event - Server Started</p>" "<span>Let the mayhem begin!</span>" "</div>" "</div>" } #Shutdown Requested "*Executing command 'shutdown'*" { #Get Variables $TimeDelta = $((Get-Date) - [datetime]$($_.Split(" ")[0])) $SteamID = $($_.Split(" ")[8]) $SteamURL = "http://steamcommunity.com/profiles/" + $SteamID + "?xml=1" $SteamProfile = $(([xml](Invoke-WebRequest -URI $SteamURL).Content).Profile) $PlayerName = $($SteamProfile.steamid.'#cdata-section') $AvatarIcon = $($SteamProfile.avatarIcon.'#cdata-section') #Parse The Command And Write The HTML "<div class='timeline-entry'>" "<div class='timeline-stat'>" "<div class='timeline-icon bg-danger'><i class='fa fa-arrow-circle-down fa-2x'></i></div>" "<div class='timeline-time'>" IF($($TimeDelta.Days) -gt 0){"$($TimeDelta.Days) days ago"} ElseIf($($TimeDelta.Hours) -gt 0) {"$($TimeDelta.Hours)h ago"} ElseIf($($TimeDelta.Minutes) -gt 0){"$($TimeDelta.Minutes) mins ago"} ElseIf($($TimeDelta.Minutes) -lt 0){"just now"} "</div>" "</div>" "<div class='timeline-label'>" "<p class='text-main text-semibold'>Server Event - Admin Shutdown Initiated</p>" "<img class='img-xs img-circle' src=$AvatarIcon>" "<span>$PlayerName shut down all the fun.</span>" "</div>" "</div>" } #Server Stopped "*OnApplicationQuit*" { #Parse The Date $TimeDelta = $((Get-Date) - [datetime]$($_.Split(" ")[0])) #Parse The Command And Write The HTML "<div class='timeline-entry'>" "<div class='timeline-stat'>" "<div class='timeline-icon bg-danger'><i class='fa fa-stop-circle fa-2x'></i></div>" "<div class='timeline-time'>" IF($($TimeDelta.Days) -gt 0){"$($TimeDelta.Days) days ago"} ElseIf($($TimeDelta.Hours) -gt 0) {"$($TimeDelta.Hours)h ago"} ElseIf($($TimeDelta.Minutes) -gt 0){"$($TimeDelta.Minutes) mins ago"} ElseIf($($TimeDelta.Minutes) -lt 0){"just now"} "</div>" "</div>" "<div class='timeline-label'>" "<p class='text-main text-semibold'>Server Event - Server Stopped</p>" "<span>We'll return shortly after these messages.......if our admin is paying any attention.</span>" "</div>" "</div>" } #Player Joined "*[INF] Player Connected,*" { #Get Variables $TimeDelta = $((Get-Date) - [datetime]$($_.Split(" ")[0])) $PlayerName = $($_.Split(",")[2].split("=")[1]) $SteamID = $($_.Split(",")[3].split("=")[1]) $SteamURL = "http://steamcommunity.com/profiles/" + $SteamID + "?xml=1" $SteamProfile = $(([xml](Invoke-WebRequest -URI $SteamURL).Content).Profile) $AvatarIcon = $($SteamProfile.avatarIcon.'#cdata-section') #Add Player To Hash Table For Lookup Later If($($PlayerNames.Get_Item("$PlayerName")) -eq $null) {$PlayerNames.Add("$PlayerName", "$SteamID")} #Parse The Command And Write The HTML "<div class='timeline-entry'>" "<div class='timeline-stat'>" "<div class='timeline-icon bg-info'><i class='fa fa-sign-in fa-2x'></i></div>" "<div class='timeline-time'>" IF($($TimeDelta.Days) -gt 0){"$($TimeDelta.Days) days ago"} ElseIf($($TimeDelta.Hours) -gt 0) {"$($TimeDelta.Hours)h ago"} ElseIf($($TimeDelta.Minutes) -gt 0){"$($TimeDelta.Minutes) mins ago"} ElseIf($($TimeDelta.Minutes) -lt 0){"just now"} "</div>" "</div>" "<div class='timeline-label'>" $( #Lookup To See If Player Is Too New To Get A Profile From Or Is A Child Profile If($AvatarIcon -eq $null) { "<img class='img-xs img-circle' src=data:image/png;base64,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>" } Else { "<img class='img-xs img-circle' src=$AvatarIcon>" } ) "$PlayerName Joined To Kill Some Zombies!" "</div>" "</div>" } #Player Died "*GMSG: Player*died*" { #Get Variables $TimeDelta = $((Get-Date) - [datetime]$($_.Split(" ")[0])) $PlayerName = $($_.Split("'")[1]) $SteamID = $PlayerNames.Get_Item("$PlayerName") $SteamURL = "http://steamcommunity.com/profiles/" + $SteamID + "?xml=1" $SteamProfile = $(([xml](Invoke-WebRequest -URI $SteamURL).Content).Profile) $AvatarIcon = $($SteamProfile.avatarIcon.'#cdata-section') #Parse The Command And Write The HTML "<div class='timeline-entry'>" "<div class='timeline-stat'>" "<div class='timeline-icon bg-info'><i class='fa fa-frown-o fa-2x'></i></div>" "<div class='timeline-time'>" IF($($TimeDelta.Days) -gt 0){"$($TimeDelta.Days) days ago"} ElseIf($($TimeDelta.Hours) -gt 0) {"$($TimeDelta.Hours)h ago"} ElseIf($($TimeDelta.Minutes) -gt 0){"$($TimeDelta.Minutes) mins ago"} ElseIf($($TimeDelta.Minutes) -lt 0){"just now"} "</div>" "</div>" "<div class='timeline-label'>" $( #Lookup To See If Player Is Too New To Get A Profile From Or Is A Child Profile If($AvatarIcon -eq $null) { "<img class='img-xs img-circle' src=data:image/png;base64,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>" } Else { "<img class='img-xs img-circle' src=$AvatarIcon>" } ) "$PlayerName Died!" "</div>" "</div>" } #Player Left "*INF Player*disconnected after*" { #Get Variables $TimeDelta = $((Get-Date) - [datetime]$($_.Split(" ")[0])) $PlayerName = $($_.Split(" ")[4]) $LastedTime = $($_.Split(" ")[7]) + " " + $($_.Split(" ")[8]) $SteamID = $PlayerNames.Get_Item("$PlayerName") $SteamURL = "http://steamcommunity.com/profiles/" + $SteamID + "?xml=1" $SteamProfile = $(([xml](Invoke-WebRequest -URI $SteamURL).Content).Profile) $AvatarIcon = $($SteamProfile.avatarIcon.'#cdata-section') #Parse The Command And Write The HTML "<div class='timeline-entry'>" "<div class='timeline-stat'>" "<div class='timeline-icon bg-info'><i class='fa fa-sign-out fa-2x'></i></div>" "<div class='timeline-time'>" IF($($TimeDelta.Days) -gt 0){"$($TimeDelta.Days) days ago"} ElseIf($($TimeDelta.Hours) -gt 0) {"$($TimeDelta.Hours)h ago"} ElseIf($($TimeDelta.Minutes) -gt 0){"$($TimeDelta.Minutes) mins ago"} ElseIf($($TimeDelta.Minutes) -lt 0){"just now"} "</div>" "</div>" "<div class='timeline-label'>" $( If($LastedTime -lt 60) { "<p class='text-main text-semibold'>Weak Sauce!</p>" #Lookup To See If Player Is Too New To Get A Profile From Or Is A Child Profile If($AvatarIcon -eq $null) { "<img class='img-xs img-circle' src=data:image/png;base64,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>" } Else { "<img class='img-xs img-circle' src=$AvatarIcon>" } "$PlayerName could only handle $LastedTime before he bounced, so weak bra!" } ElseIf($LastedTime -lt 180) { "<p class='text-main text-semibold'>At Least You Did Something Before You Got Off!</p>" #Lookup To See If Player Is Too New To Get A Profile From Or Is A Child Profile If($AvatarIcon -eq $null) { "<img class='img-xs img-circle' src=data:image/png;base64,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>" } Else { "<img class='img-xs img-circle' src=$AvatarIcon>" } "$PlayerName could only handle $LastedTime before he bounced, so weak bra!" } Else { "<p class='text-main text-semibold'>You Deserve A Vacation!</p>" #Lookup To See If Player Is Too New To Get A Profile From Or Is A Child Profile If($AvatarIcon -eq $null) { "<img class='img-xs img-circle' src=data:image/png;base64,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>" } Else { "<img class='img-xs img-circle' src=$AvatarIcon>" } "$PlayerName crushed it for $LastedTime before he decided to take a well deserved break." } ) "</div>" "</div>" } #Player Ban - NEEDS UPDATE "BANBANBAN" { #Parse The Date #$TimeDelta = $((Get-Date) - [datetime]$($_.Split(" ")[0])) #Parse The Command And Write The HTML #"<div class='timeline-entry'>" # "<div class='timeline-stat'>" # "<div class='timeline-icon bg-warning'><i class='fa fa-ban fa-2x'></i></div>" # "<div class='timeline-time'>" # IF($($TimeDelta.Days) -gt 0){"$($TimeDelta.Days) days ago"} # ElseIf($($TimeDelta.Hours) -gt 0) {"$($TimeDelta.Hours)h ago"} # ElseIf($($TimeDelta.Minutes) -gt 0){"$($TimeDelta.Minutes) mins ago"} # ElseIf($($TimeDelta.Minutes) -lt 0){"just now"} # "</div>" # "</div>" # "<div class='timeline-label'>" # "<p class='text-main text-semibold'>Ban Hammer Swung</p>" # "<span>$PlayerName just got ban hammered.....sucks to be you $PlayerName.</span>" # "</div>" #"</div>" } #Deny Admin Command "*Denying command*" { #Get The Variables $TimeDelta = $((Get-Date) - [datetime]$($_.Split(" ")[0])) $PlayerName = $(($_ -Split 'client')[1].TrimStart()) $DeniedCommand = $($_.Split("'")[1]) #Parse The Command And Write The HTML "<div class='timeline-entry'>" "<div class='timeline-stat'>" "<div class='timeline-icon bg-warning'><i class='demo-psi-speech-bubble-3 icon-lg'></i></div>" "<div class='timeline-time'>" IF($($TimeDelta.Days) -gt 0){"$($TimeDelta.Days) days ago"} ElseIf($($TimeDelta.Hours) -gt 0) {"$($TimeDelta.Hours)h ago"} ElseIf($($TimeDelta.Minutes) -gt 0){"$($TimeDelta.Minutes) mins ago"} "</div>" "</div>" "<div class='timeline-label'>" "$PlayerName Tried To Cheat The System By Executing: $DeniedCommand, But Was Caught And Publicly Shamed Instead." "</div>" "</div>" } #Render Map "*Executing command 'rendermap'*" { #Get Variables $TimeDelta = $((Get-Date) - [datetime]$($_.Split(" ")[0])) $SteamID = $($_.Split(" ")[8]) $SteamURL = "http://steamcommunity.com/profiles/" + $SteamID + "?xml=1" $SteamProfile = $(([xml](Invoke-WebRequest -URI $SteamURL).Content).Profile) $PlayerName = $($SteamProfile.steamid.'#cdata-section') $AvatarIcon = $($SteamProfile.avatarIcon.'#cdata-section') #Parse The Command And Write The HTML "<div class='timeline-entry'>" "<div class='timeline-stat'>" "<div class='timeline-icon bg-info'><i class='fa fa-map-o fa-1x'></i></div>" "<div class='timeline-time'>" IF($($TimeDelta.Days) -gt 0){"$($TimeDelta.Days) days ago"} ElseIf($($TimeDelta.Hours) -gt 0) {"$($TimeDelta.Hours)h ago"} ElseIf($($TimeDelta.Minutes) -gt 0){"$($TimeDelta.Minutes) mins ago"} ElseIf($($TimeDelta.Minutes) -lt 0){"just now"} "</div>" "</div>" "<div class='timeline-label'>" "<p class='text-main text-semibold'>Server Event - Render Map to Website</p>" "<img class='img-xs img-circle' src=$AvatarIcon>" "<span>$PlayerName just decided to slowed down the entire server so he could update the map on the website. *golf clap*</span>" "</div>" "</div>" } #Ignore default {} } } ) </div> <!--===================================================--> <!-- End Timeline --> </div> </div> </div> <!--===================================================--> <!--End page content--> </div> <!--===================================================--> <!--END CONTENT CONTAINER--> <!--MAIN NAVIGATION--> <!--===================================================--> <nav id="mainnav-container"> <div id="mainnav"> <!--Menu--> <!--================================--> <div id="mainnav-menu-wrap"> <div class="nano"> <div class="nano-content"> <!--Widget--> <!--================================--> <div class="mainnav-widget"> <!-- Show the button on collapsed navigation --> <div class="show-small"> <a href="#" data-toggle="menu-widget" data-target="#demo-wg-server"> <i class="demo-pli-monitor-2"></i> </a> </div> <!-- Hide the content on collapsed navigation --> <div id="demo-wg-server" class="hide-small mainnav-widget-content"> <ul class="list-group"> <li> $( #Determine If Main Server Is Up Or Down If((Get-NetTCPConnection | Where {$_.OwningProcess -eq $((Get-Process | Where {$_.ProcessName -like '7DaysToDieServer'}).ID)} | Where {$_.LocalPort -eq '26900'} | Measure-Object).Count -gt 0) { '<span class="label label-success pull-right">UP</span>' } Else { '<span class="label label-danger pull-right">DOWN</span>' } ) <p>Main Server</p> </li> <li> $( #Determine If Main Server Is Up Or Down If((Get-NetTCPConnection | Where {$_.OwningProcess -eq $((Get-Process | Where {$_.ProcessName -like '7DaysToDieServer'}).ID)} | Where {$_.LocalPort -eq '26901'} | Measure-Object).Count -gt 0) { '<span class="label label-success pull-right">UP</span>' } Else { '<span class="label label-danger pull-right">DOWN</span>' } ) <p>Test Server</p> </li> </ul> </div> </div> <!--================================--> <!--End widget--> <ul id="mainnav-menu" class="list-group"> <!--Category name--> <li class="list-header">Navigation</li> <!--Menu list item--> <li> <a href="index.ps1"> <i class="demo-psi-home"></i> <span class="menu-title"> <strong>Dashboard</strong> </span> </a> </li> <!--Menu list item--> <li> <a href="maps.ps1"> <i class="fa fa-map-o" aria-hidden="true"></i> <span class="menu-title"> <strong>Server Map</strong> </span> </a> </li> <!--Menu list item--> <li class="active-link"> <a href="serverlog.ps1"> <i class="fa fa-file-text-o" aria-hidden="true"></i> <span class="menu-title"> <strong>Server Log Feed</strong> </span> </a> </li> <!--Menu list item--> <li> <a href="controlpanel.ps1"> <i class="fa fa-terminal" aria-hidden="true"></i> <span class="menu-title"> <strong>Control Panel</strong> </span> </a> </li> </ul> </div> </div> </div> <!--================================--> <!--End menu--> </div> </nav> <!--===================================================--> <!--END MAIN NAVIGATION--> </div> <!-- FOOTER --> <!--===================================================--> <footer id="footer"> <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --> <!-- Remove the class "show-fixed" and "hide-fixed" to make the content always appears. --> <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --> <p class="pad-lft">© 2017 Sean Davis</p> </footer> <!--===================================================--> <!-- END FOOTER --> <!-- SCROLL PAGE BUTTON --> <!--===================================================--> <button class="scroll-top btn"> <i class="pci-chevron chevron-up"></i> </button> <!--===================================================--> </div> <!--===================================================--> <!-- END OF CONTAINER --> </body> </html> "@ 1 |