From 611c52223a5d7ebea1dbe73d46b061229f6918e1 Mon Sep 17 00:00:00 2001 From: Logan Fick Date: Thu, 12 Oct 2017 18:52:53 -0400 Subject: Fixed who's playing page returning internal server error when server is offline. --- app/controllers/statics_controller.rb | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/app/controllers/statics_controller.rb b/app/controllers/statics_controller.rb index 08dceef..70b58da 100644 --- a/app/controllers/statics_controller.rb +++ b/app/controllers/statics_controller.rb @@ -17,8 +17,15 @@ class StaticsController < ApplicationController end def online - json = JSON.parse(File.read("/etc/minecraft/redstoner/plugins/ModuleLoader/players.json")) - @players = json["players"].collect!{ |p| User.find_by(uuid: p["UUID"].tr("-", "")) or User.new(name: p["name"], ign: p["name"], uuid: p["UUID"].tr("-", ""), role: Role.get("normal"), badge: Badge.get("none"), confirmed: true) }.sort_by!(&:role).reverse! - @count = json["amount"] + begin + json = JSON.parse(File.read("/etc/minecraft/redstoner/plugins/ModuleLoader/players.json")) + rescue + flash[:alert] = "The server is currently offline." + @players = {} + @count = 0 + else + @players = json["players"].collect!{ |p| User.find_by(uuid: p["UUID"].tr("-", "")) or User.new(name: p["name"], ign: p["name"], uuid: p["UUID"].tr("-", ""), role: Role.get("normal"), badge: Badge.get("none"), confirmed: true) }.sort_by!(&:role).reverse! + @count = json["amount"] + end end end -- cgit v1.2.3