diff --git a/xtrn/xtrnmenu/099-xtrnmenu-gamestats.xjs b/xtrn/xtrnmenu/099-xtrnmenu-gamestats.xjs
new file mode 100644
index 0000000000000000000000000000000000000000..240f19c0aecc020414075058d367e8f56771f480
--- /dev/null
+++ b/xtrn/xtrnmenu/099-xtrnmenu-gamestats.xjs
@@ -0,0 +1,54 @@
+<!--Game Stats-->
+<div class="list-group">
+
+<h1>Game Stats</h1>
+
+<?xjs
+    load('sbbsdefs.js');
+    load("xtrnmenulib.js");
+    
+    var ExternalMenus = new ExternalMenus();
+      
+    if (typeof settings.xtrn_blacklist === 'string') {
+        settings.xtrn_blacklist = settings.xtrn_blacklist.toLowerCase().split(',');
+    } else {
+        settings.xtrn_blacklist = [];
+    }
+
+	// Edit these lines as needed to adjust the page
+	gameStats("recentall", "Most Recent", 10);
+	gameStats("mostlaunchedall", "Top 15 Most Launched", 15);
+	gameStats("longestrunall", "Top 15 Longest Run", 15);
+	
+	function gameStats(menutype, title, maxitems) {
+	    var menuobj = ExternalMenus.getSpecial(menutype, title); 
+
+?>
+<div class="row list-group-item" style="background-color: #993399; color: #FFF">
+	<div class="col-sm-12"><h3><?xjs write(title) ?></h3></div>
+</div>
+
+<?xjs        
+		if ((typeof menuobj.items !== "undefined") || (menuobj.items.length > 0)) {
+			var i = 0;
+			menuobj.items.some(function (menuitem) {
+				if (menuitem.type != "xtrnprog") {
+					return;
+				}
+		
+				if (settings.xtrn_blacklist.indexOf(menuitem.target.toLowerCase()) > -1) return;
+				
+				if (++i > maxitems) return;
+?>
+
+<div class="row list-group-item striped">
+	<div class="col-sm-2"><span class="badge badge-inverse"><?xjs write(menuitem.stats) ?></span></div>
+	<div class="col-sm-10"><?xjs write(menuitem.title) ?></div>
+</div>
+
+<?xjs		
+			});
+		}
+	}
+?>	
+</div>