Sample Module
This is an example of a module that can be installed onto your master which will work with TCAdmin.
Sample View Page
Sample View Page - HelloWorld.cshtml
@model Game.HelloWorldModel
@{
Layout = this.GetTemplateFile("Shared/Main.cshtml", true);
<script>
$(document).ready(function () {
document.title = "@TCAdmin.SDK.Web.MVC.Template.GetSelectedTemplateTitle() " + "Hello World!"; // Sets the page title
$('.header-text').html("Hello World - A Sample Module") // Sets the page header
});
</script>
}
@section head{
}
@section sidebar{
@Html.Action("_PageIcons", "Service", new { id = Model.Service.ServiceId }) @*Adds the service buttons to the sidebar*@
}
<br />
@Model.Message @*Displays the 'Hello World' message*@
<br />
<br />
@Model.ServiceStartedOn @*Displays information about the service startup time & process id*@
Sample Controller
Sample Controller - HelloWorldController.cs
using System.Web.Mvc;
using TCAdmin.SDK.Web.MVC.Controllers;
namespace Game
{
public class HelloWorldModel
{
public string Message { get; set; }
public string ServiceStartedOn { get; set; }
public TCAdmin.GameHosting.SDK.Objects.Service Service { get; set; }
}
public class HelloWorldController : BaseServiceController
{
[HttpGet]
[ParentAction("Service", "Home")]
public ActionResult Index(int id)
{
//Make sure the user has permission this feature
EnforceFeaturePermission("FileManager");
var model = new HelloWorldModel();
//Gets the current service
model.Service = TCAdmin.GameHosting.SDK.Objects.Service.GetSelectedService();
//Sets the message variable
model.Message = "Hello World!";
//Gets information about the service startup
model.ServiceStartedOn = string.Format($"{model.Service.ConnectionInfo} was started on {TCAdmin.SDK.Misc.Dates.UniversalTimeToCurrentTimeZone(model.Service.Status.StartTime)} with process id {model.Service.Status.ProcessId}");
return View("HelloWorld", model);
}
}
}
Installing The Custom Module
How to install the module after compiling it with TCAdmin:
- Copy
SampleModule.dll
toTCAdmin2\ControlPanel.MVC\bin-extensions
- Copy
HelloWorld.cshtml
toControlPanel.MVC\Views\[ThemeFolder]\Game\Service
- Clear the contents of
TCAdmin2\Cache
and restart the monitor - You can then navigate to the module in your browser e.g http://127.0.0.1/Service/HelloWorld/1