Difference between revisions of "MVC Templates"

Line 93: Line 93:
  
 
== Edit Templates in Visual Studio 2017 ==
 
== Edit Templates in Visual Studio 2017 ==
'''<span style="color:red">Available in 2.0.127.0</span>'''
 
 
* Go to settings > Themes > Create a new MVC theme. This is the template that you will be editing in Visual Studio.
 
* Go to settings > Themes > Create a new MVC theme. This is the template that you will be editing in Visual Studio.
 
* Copy TCAdmin2\ControlPanel.MVC and TCAdmin2\Monitor\Shared to your PC.
 
* Copy TCAdmin2\ControlPanel.MVC and TCAdmin2\Monitor\Shared to your PC.

Revision as of 01:11, 25 March 2019

The MVC templates are currently in beta testing.

Features

  • The following features are configurable in the game settings:
    • Custom background images per game. Place the images in TCAdmin2\ControlPanel.MVC\Views\Default so they are used in all your custom themes.
    • Custom service home page template per game. (change whole layout of the service home page)
    • Custom status template per game. (change which information and ports are displayed)
    • Join URL
  • Responsive design.
  • Editable HTML templates.
    • Create a new theme in Settings > Themes. Set the type to MVC. A folder will be created in TCAdmin2\ControlPanel.MVC\Views where you can place your custom .cshtml and images.
    • Your custom template folder only needs to have the files that have been modified.
    • If a file doesn't exist in your custom template it will use the file from the default template. Use the same directory structure as the Default template.
    • You can safely add files to the default template folder but all the original files will be overwritten when you update TCAdmin.
    • To translate MVC templates go to Settings > Languages > select the language > Other Components > Resources.*.
MVCPreview1.png
MVCPreview2.png

Requirements

  • .NET 4.5 must be installed on your server. MVC templates will not work if you only have .NET 4.0 installed.
  • Install TCAdmin version 2.0.126.0 or greater.

Configure TCAdmin

  • Edit TCAdmin2\Monitor\TCAdminMonitor.exe.config or /home/tcadmin/Monitor/TCAdminMonitor.exe.config. Add these lines under <appSettings> (update them if they already exist).
<add key="TCAdmin.Public.MVC" value="True" />
<add key="TCAdmin.Public.MVC.WebServicesPath" value="../ControlPanel.MVC" />
  • Important for Linux users: Https is not supported by the built in web server when "TCAdmin.Public.MVC" is set to True. To use https you must configure your control panel with Nginx.
  • Restart the monitor service.

Update the WHMCS module (optional)

Make a backup of your /whmcs/modules/servers/tcadmin2_advanced/tcadmin2_advanced.php and replace it with this file. This module has the links updated to work with the MVC template format.

File:Tcadmin2 advanced mvc.zip

Linux Nginx configuration (optional)

Configure Nginx with these instructions but use this default.conf instead of one provided in that tutorial: Configure_the_TCAdmin_website_to_run_with_Nginx If your control panel website was configured with a certificate you must copy the lines starting with ssl_certificate and ssl_certificate_key from the previous configuration.

upstream tcadmin-fcgi {
        ip_hash;
        server unix:/home/tcadmin/Temp/fastcgi-socket-1;
}

upstream tcadmin-fcgi-mvc {
        ip_hash;
        server unix:/home/tcadmin/Temp/fastcgi-socket-mvc-1;
}

server {
        #the following line is required if you want to configure with Let's Encrypt
        #server_name tcadmin.yourdomain.com;
        fastcgi_temp_path /home/tcadmin/Temp 1 2;
        client_body_temp_path /home/tcadmin/Temp 1 2;
        listen   8880;
        #access_log   /home/tcadmin/Logs/nginx.log;
        index index.html index.htm default.aspx Default.aspx;

        #Support for Let's encrypt tools
        location /.well-known {
               try_files $uri $uri/ =404;
        }

        #Everything else served by fastcgi server
        location / {
               fastcgi_ignore_client_abort on;
               fastcgi_pass tcadmin-fcgi-mvc;
               include fastcgi_params;
               fastcgi_split_path_info ^(.+\.as[pmh]x)(.*)$;
               fastcgi_param PATH_INFO $fastcgi_path_info;
               fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;
               fastcgi_keep_conn off;
               fastcgi_buffering off;
               gzip            off;
               client_max_body_size 100m;
       }

        #Everything else served by fastcgi server
        location /Aspx {
               fastcgi_ignore_client_abort on;
               fastcgi_index Default.aspx;
               fastcgi_pass tcadmin-fcgi;
               include fastcgi_params;
               fastcgi_split_path_info ^(.+\.as[pmh]x)(.*)$;
               fastcgi_param PATH_INFO $fastcgi_path_info;
               fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;
               fastcgi_keep_conn off;
               fastcgi_buffering off;
               gzip            off;
               client_max_body_size 100m;
       }
}

Windows IIS configuration (optional)

Edit Templates in Visual Studio 2017

  • Go to settings > Themes > Create a new MVC theme. This is the template that you will be editing in Visual Studio.
  • Copy TCAdmin2\ControlPanel.MVC and TCAdmin2\Monitor\Shared to your PC.
  • Rename ControlPanel.MVC\Web.VS2017.config to ControlPanel.MVC\Web.config
  • Edit ControlPanel.MVC\Web.config in notepad.
    • Update the value of "TCAdmin.SharedPath" to the correct path.
    • Update "TCAdmin.Database.MySql.ConnectionString" with your MySQL info.
  • Run Visual Studio.
    • select File > Open > Web Site. Select your ControlPanel.MVC folder.
    • Select Website > Start Options from the menu.
    • In Build > Before running startup page select "No build" and click on OK.
    • You should be able to run the solution and it will load the control panel website. Only MVC content will render correctly. Classic ASP.NET content will show a server error.
    • Don't edit the files from the default template. To edit a specific page copy it from ControlPanel.MVC\Views\Default to ControlPanel.MVC\Views\(YourTemplate) keeping the same directory structure. You don't need to copy all files. If a file is not in your template the default file will be used.
    • You should have full intellisense support when editing the template files. If you see an errors about missing references copy the file from Shared to ControlPanel.MVC\bin and restart Visual Studio.

Going back to the classic ASP.NET themes

If you want to go back to the classic ASP.NET themes:

  • Edit TCAdmin2\Monitor\TCAdminMonitor.exe.config and set the value of TCAdmin.Public.MVC to False
  • Restart the monitor.
Retrieved from "https://help.tcadmin.com/index.php?title=MVC_Templates&oldid=1630"