Sample Module

Revision as of 00:09, 21 May 2020 by TCAHelp (talk | contribs) (→‎Sample View Page)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

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);

        $(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

@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
        [ParentAction("Service", "Home")]
        public ActionResult Index(int id)
            //Make sure the user has permission this feature

            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:

1. Copy SampleModule.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

Module Preview

What this module looks like:


Module Download

Retrieved from ""