Difference between revisions of "Sample Module"
Line 1: | Line 1: | ||
This is an example of a module that can be installed onto your master which will work with TCAdmin. | This is an example of a module that can be installed onto your master which will work with TCAdmin. | ||
− | <br><br> | + | <br><br>== Sample View Page == |
<b>Sample View Page - HelloWorld.cshtml</b> | <b>Sample View Page - HelloWorld.cshtml</b> | ||
Line 30: | Line 30: | ||
@Model.ServiceStartedOn | @Model.ServiceStartedOn | ||
</source> | </source> | ||
− | + | == Sample Controller == | |
<b>Sample Controller - HelloWorldController.cs</b> | <b>Sample Controller - HelloWorldController.cs</b> | ||
Line 67: | Line 67: | ||
</source> | </source> | ||
− | + | == Installing the module == | |
<b>How to install the module after compiling it with TCAdmin:</b> | <b>How to install the module after compiling it with TCAdmin:</b> | ||
Line 81: | Line 81: | ||
<br/> | <br/> | ||
+ | == Module Preview == | ||
<b>What this module looks like: </b> | <b>What this module looks like: </b> | ||
[[File:ModuleView1.png|1200px]] | [[File:ModuleView1.png|1200px]] |
Revision as of 22:35, 20 May 2020
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!"; $('.header-text').html("Hello World - A Sample Module") }); </script> } @section head{ } @section sidebar{ @Html.Action("_PageIcons", "Service", new { id = Model.Service.ServiceId }) } <br /> @Model.Message <br /> <br /> @Model.ServiceStartedOn
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(); model.Service = TCAdmin.GameHosting.SDK.Objects.Service.GetSelectedService(); model.Message = "Hello World!"; 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 module
How to install the module after compiling it with TCAdmin:
1. Copy SampleController.dll to TCAdmin2\ControlPanel.MVC\bin-extensions
2. Copy HelloWorld.cshtml to ControlPanel.MVC\Views\[ThemeFolder]\Game\Service
3. Clear the contents of TCAdmin2\Cache and restart the monitor
4. You can then navigate to the module in your browser e.g http://127.0.0.1/Service/HelloWorld/1
Module Preview
What this module looks like: