Skip to content

Commit cebfe78

Browse files
committed
better readme, Finished FAQ and added Billing API Examples
1 parent 4937883 commit cebfe78

7 files changed

Lines changed: 377 additions & 7 deletions

File tree

README.md

Lines changed: 21 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
# TCAdmin Documentation
22

3+
## Welcome
4+
35
Welcome to the TCAdmin documentation repository! This repository contains comprehensive documentation for various aspects of the TCAdmin platform. Whether you're new to TCAdmin or an experienced user, this guide will walk you through different processes and functionalities.
46

57
## Getting Started with GitHub Desktop
@@ -27,7 +29,7 @@ To contribute to the TCAdmin documentation using GitHub Desktop, follow these st
2729
1. After making changes, return to GitHub Desktop.
2830
2. You will see your changes listed under "Changes."
2931
3. Add a summary and description of your changes in the provided fields.
30-
4. Click the "Commit to \<branch name\>" button to commit your changes to the new branch.
32+
4. Click the "Commit to <branch name>" button to commit your changes to the new branch.
3133
5. Click the "Push origin" button to push your changes to your forked repository on GitHub.
3234

3335
### 5. Create a Pull Request
@@ -51,14 +53,26 @@ Thank you for contributing to the TCAdmin documentation!
5153

5254
To submit an issue or suggestion, please follow these steps:
5355

54-
1. **Check for existing issues**: Before submitting a new issue or suggestion, please search the tracker to ensure that it hasn't been reported or suggested before. This helps us avoid duplicates and allows us to focus on resolving unique problems and implementing new ideas.
56+
### 1. Check for Existing Issues
57+
58+
Before submitting a new issue or suggestion, please search the tracker to ensure that it hasn't been reported or suggested before. This helps us avoid duplicates and allows us to focus on resolving unique problems and implementing new ideas.
59+
60+
### 2. Create a New Issue
61+
62+
If you couldn't find a similar issue or suggestion, click on the ["Issues"](../../issues) tab above and then click the ["New Issue"](../../issues/new/choose) button. Provide a descriptive title that summarizes the problem or suggestion concisely.
63+
64+
### 3. Provide Details
65+
66+
In the issue description, provide as much information as possible to help us understand the problem or suggestion. Include clear steps to reproduce the issue or a detailed explanation of the enhancement you're suggesting. You can also attach relevant screenshots or files to support your submission.
67+
68+
### 4. Label and Assign
5569

56-
2. **Create a new issue**: If you couldn't find a similar issue or suggestion, click on the ["Issues"](../../issues) tab above and then click the ["New Issue"](../../issues/new/choose) button. Provide a descriptive title that summarizes the problem or suggestion concisely.
70+
Once you've created the issue, please assign the appropriate labels that best categorize the problem or suggestion. This helps us organize and prioritize the issues accordingly. If you're a team member responsible for managing this tracker, you can assign the issue to yourself or the relevant person for further action.
5771

58-
3. **Provide details**: In the issue description, provide as much information as possible to help us understand the problem or suggestion. Include clear steps to reproduce the issue or a detailed explanation of the enhancement you're suggesting. You can also attach relevant screenshots or files to support your submission.
72+
### 5. Engage in Discussion
5973

60-
4. **Label and assign**: Once you've created the issue, please assign the appropriate labels that best categorize the problem or suggestion. This helps us organize and prioritize the issues accordingly. If you're a team member responsible for managing this tracker, you can assign the issue to yourself or the relevant person for further action.
74+
Feel free to engage in the discussion by providing additional details, asking questions, or clarifying any points raised by other community members or our team. Your input is valuable, and together we can find the best solutions and ideas.
6175

62-
5. **Engage in discussion**: Feel free to engage in the discussion by providing additional details, asking questions, or clarifying any points raised by other community members or our team. Your input is valuable, and together we can find the best solutions and ideas.
76+
### 6. Track Progress
6377

64-
6. **Track progress**: As we work on addressing the issues or implementing the suggestions, we will update the status and provide relevant comments. You can subscribe to notifications to stay informed about the progress.
78+
As we work on addressing the issues or implementing the suggestions, we will update the status and provide relevant comments. You can subscribe to notifications to stay informed about the progress.

docs/FAQ/_category_.json

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
{
2+
"label": "FAQ",
3+
"position": 9,
4+
"link": {
5+
"type": "generated-index",
6+
"description": "TCAdmin FAQ"
7+
}
8+
}

docs/FAQ/common-faq.mdx

Lines changed: 155 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,155 @@
1+
---
2+
sidebar_position: 1
3+
sidebar_label: Common FAQ
4+
---
5+
6+
# Common FAQ
7+
8+
## General
9+
10+
**Q1.** What should I do if there are no game servers available on the selected server?
11+
12+
**A1.** If there are no game servers available on the selected server, follow these steps:
13+
14+
- **Steam-Based Games:** TCAdmin does not include dedicated game files. STEAM-based games are freely available for download via STEAM. TCAdmin generates download scripts for STEAM games. You can find the scripts in the following directories:
15+
- Windows: `C:\TCAFiles\Games`
16+
- Linux: `/home/tcadmin/tcafiles/games`
17+
18+
- **Non-Steam Games:** Some games have free downloadable dedicated server files, while others will require you to install the game on your computer, zip or compress the game directory, and upload the files to your server. Make sure to place the game's files in its subdirectory in either:
19+
- Windows: `C:\TCAFiles\Games`
20+
- Linux: `/home/tcadmin/tcafiles/games`
21+
22+
**Q2.** What are the default ports used by TCAdmin?
23+
24+
**A2.** The default ports used by TCAdmin are as follows:
25+
26+
### For Windows:
27+
- **Web/Monitor:** 8880, 8881 TCP
28+
- **FTP:** 8821 TCP
29+
- **FTP Passive Mode:** 5000 to 5100 TCP
30+
- **SFTP (disabled by default):** 8822 TCP
31+
32+
### For Linux:
33+
- **Web:** 8880, 8881 TCP
34+
- **Monitor:** 8890, 8891 TCP
35+
- **FTP:** 8821 TCP
36+
- **FTP Passive Mode:** 5000 to 5100 TCP
37+
- **SFTP (disabled by default):** 8822 TCP
38+
39+
**Q3.** What compression formats are supported?
40+
41+
**A3.** To know which compression formats are supported, please refer to the TCAdmin documentation under the section titled [See Compression.](/misc/compression/)
42+
43+
**Q4.** How can I limit a game/voice server's disk space?
44+
45+
**A4.** To limit a game or voice server's disk space, please follow the instructions provided in this article: [Limit Service's Disk Space](/customizations/scripts/general-scripts/limits-services-disk-space/).
46+
47+
**Q5.** How can I delete the default game data?
48+
49+
**A5.** To delete the default game data, execute the following commands on your database. Remember to make a backup of your database before proceeding:
50+
51+
```sql
52+
DELETE FROM tc_games;
53+
DELETE FROM tc_game_paths;
54+
DELETE FROM tc_game_general_config;
55+
DELETE FROM tc_game_ports;
56+
DELETE FROM tc_game_cmdlines;
57+
DELETE FROM tc_game_punkbuster_config;
58+
DELETE FROM tc_game_query_monitoring;
59+
DELETE FROM tc_game_mail_templates;
60+
DELETE FROM tc_game_steam_config;
61+
DELETE FROM tc_game_identity;
62+
DELETE FROM tc_game_config_files;
63+
DELETE FROM tc_game_scripts;
64+
DELETE FROM tc_game_templates;
65+
DELETE FROM tc_game_permissions;
66+
DELETE FROM tc_game_variables_config;
67+
DELETE FROM tc_custom_variables;
68+
DELETE FROM tc_dynamic_forms;
69+
DELETE FROM tc_dynamic_form_items;
70+
DELETE FROM tc_game_tracker_config;
71+
DELETE FROM tc_game_mods;
72+
DELETE FROM tc_game_updates;
73+
DELETE FROM tc_game_map_packs;
74+
DELETE FROM tc_game_text_console;
75+
DELETE FROM tc_game_web_console;
76+
DELETE FROM tc_game_fast_download;
77+
DELETE FROM tc_game_bukkit_config;
78+
DELETE FROM tc_game_links;
79+
```
80+
81+
**Q6.** How can I use random IDs instead of incremental IDs?
82+
83+
**A6.** To use random IDs instead of incremental IDs, execute the following command on your database:
84+
85+
```sql
86+
INSERT INTO tc_info (name, value) VALUES ('TCAdmin.RandomIds', 'True');
87+
```
88+
89+
Alternatively, you can start the monitor in console mode and paste this command in the console:
90+
91+
```sql
92+
sql INSERT INTO tc_info (name, value) VALUES ('TCAdmin.RandomIds', 'True');
93+
```
94+
95+
**Q7.** How can I use a custom Web.config?
96+
97+
**A7.** To use a custom Web.config, follow these steps:
98+
99+
1. Make a copy of your Web.config and name it `Windows.Custom.config` or `Linux.Custom.config`.
100+
2. When the monitor is restarted, it will use a copy of that file as the new Web.config.
101+
102+
## Game Configuration
103+
104+
**Q8.** Why do Linux Game Details Show Fewer Options?
105+
106+
**A8.** Game servers that run on both Windows and Linux usually have the same configuration, with only the executable name changing. To avoid duplicate configurations, the Windows version of the config serves as a template for the Linux config. If you want to make specific changes to the Linux version, follow these steps:
107+
108+
- Select the Linux game.
109+
- Click on "Export" and save the file.
110+
- Go to the "Templates" tab.
111+
- Clear the template for each section and save.
112+
- Go back to the games list.
113+
- Click on "Import."
114+
- Select "Overwrite existing game."
115+
- Select the Linux game you are updating.
116+
- Select the config file that you downloaded.
117+
- Click on "Import."
118+
119+
**Q9.** How can I disable the Text Editor for a Single File?
120+
121+
**A9.** To disable the Text Editor for a single file, follow these steps:
122+
123+
1. Go to "Settings" > "Games."
124+
2. Select the game's details and click on the "File System Permissions" icon.
125+
3. Expand subadmin, reseller, or user.
126+
4. Click on "Add permission by file name."
127+
5. Enter the file name that you want to block.
128+
6. Select "No permissions."
129+
7. Click on the "Add" button.
130+
8. Click on the "Save" button.
131+
132+
You can also use "Add permission by file path." The difference is that this option will only block the file in the specified path. You can have files with the same name in other folders, and they will not be blocked. "Add permission by file name" blocks a file with that name in any folder.
133+
134+
**Q10.** How can I allow access to *.jar, *.dll, and *.so files?
135+
136+
**A10.** To allow access to these files, follow these steps:
137+
138+
1. Go to "Settings" > "Games."
139+
2. Select the game. If you are running Linux, select the Windows version of the game.
140+
3. Select the "File System Permissions" icon.
141+
4. Expand subadmin, reseller, or user.
142+
5. Expand "Add permission by file name" and select the permission.
143+
6. Remove `*.jar`, `*.dll`, or `*.so` from the list.
144+
7. Click on the "Update" button.
145+
8. Click on the "Save" button.
146+
147+
On Linux, if some files are still not visible, edit `/home/tcadmin/Monitor/Override.config` and set `RestrictLinuxExe` to `False`.
148+
149+
**Q11.** How can I configure mods for a game?
150+
151+
**A11.** Each mod installation is different depending on the game. TCAdmin can provide an overview of what you might need to do when configuring a mod. Read the Mod Configuration Page in the documentation for details.
152+
153+
**Q12.** How can I limit the resource usage of a service?
154+
155+
**A12.** You can specify CPU and memory limits in the game server's service settings. You can also use the game's query monitoring to create rules that check a service's CPU, memory, and bandwidth usage. Refer to the Query

docs/FAQ/linux-faq.mdx

Lines changed: 124 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,124 @@
1+
---
2+
sidebar_position: 3
3+
sidebar_label: Linux FAQ
4+
---
5+
6+
# Linux FAQ
7+
8+
## Configure the Website on Port 80
9+
10+
By default, the TCAdmin website user runs with a normal account, and normal users can't open ports lower than 1024. To work around this limitation, you can redirect port 80 to 8880 using iptables.
11+
12+
**Q1.** How can I configure the website to run on port 80 on Linux?
13+
14+
**A1.** To configure the TCAdmin website to run on port 80, follow these steps:
15+
16+
1. Open a terminal on your Linux server.
17+
18+
2. Use the following command to redirect incoming traffic from port 80 to port 8880 using iptables:
19+
```bash
20+
iptables -A PREROUTING -t nat -p tcp --dport 80 -j REDIRECT --to-port 8880
21+
```
22+
23+
If your server has more than one IP, and you want to redirect on a specific IP, use this command, replacing `1.2.3.4` with your server's IP address:
24+
```bash
25+
iptables -A PREROUTING -t nat -p tcp --dport 80 -d 1.2.3.4 -j REDIRECT --to-port 8880
26+
```
27+
28+
3. After making the changes, save your iptables settings. Use one of the following commands, depending on your Linux distribution:
29+
30+
For CentOS:
31+
```bash
32+
service iptables save
33+
```
34+
35+
For Debian/Ubuntu:
36+
```bash
37+
iptables-save
38+
```
39+
40+
4. You have successfully configured the TCAdmin website to run on port 80, and incoming traffic will be redirected to port 8880.
41+
42+
**Q2.** How can I redirect port 21 to port 8821 for FTP?
43+
44+
**A2.** To redirect port 21 to port 8821 for FTP, you can use a similar iptables command:
45+
46+
```bash
47+
iptables -A PREROUTING -t nat -p tcp --dport 21 -j REDIRECT --to-port 8821
48+
```
49+
50+
This command will redirect FTP traffic from port 21 to port 8821.
51+
52+
## Enable HTTPS for the Control Panel Website
53+
54+
**Q3.** How can I enable HTTPS for the control panel website on Linux?
55+
56+
**A3.** To enable HTTPS for the control panel website on Linux, follow these steps:
57+
58+
1. Open the file `/home/tcadmin/Monitor/tcadmin-config` for editing.
59+
60+
2. Add the following line to the file to specify the secure web port (e.g., 8881):
61+
```bash
62+
SECURE_WEB_PORT="8881"
63+
```
64+
65+
3. Open the necessary port in your firewall to allow HTTPS traffic. You can use a command like `firewall-cmd` to do this.
66+
67+
4. After making these changes, restart the monitor service:
68+
```bash
69+
/home/tcadmin/Monitor/monitor-service restart
70+
```
71+
72+
Now, the control panel website should be accessible over HTTPS on the specified port.
73+
74+
## Use a Custom SSL Certificate (Linux)
75+
76+
**Q4.** How can I use a custom SSL certificate for the control panel website on Linux?
77+
78+
**A4.** To use a custom SSL certificate for the control panel website on Linux, follow these steps: [Create a self signed certificate](/customizations/web-server-configurations/setting-up-nginx#create-a-self-signed-certificate-optional)
79+
80+
This should allow you to use a custom SSL certificate for the control panel website.
81+
82+
## Configure the TCAdmin Website to Run with Nginx
83+
84+
**Q5.** How can I configure the TCAdmin website to run with Nginx on Linux?
85+
86+
**A5.** To configure the TCAdmin website to run with Nginx on Linux, follow the instructions provided in the article titled [Setting Up Nginx With TCAdmin](/customizations/web-server-configurations/setting-up-nginx)
87+
88+
## File Visibility Issues in FTP or File Manager
89+
90+
**Q6.** Some/all files are not visible in FTP or the file manager. How can I resolve this issue?
91+
92+
**A6.** By default, TCAdmin protects files with execute permissions. Only files that require execute permissions should have them. To remove execute permissions from a single file, use the following command:
93+
94+
```bash
95+
chmod -x /path/to/file
96+
```
97+
98+
To remove execute permissions for all files with a specific extension, you can use a command like this:
99+
100+
```bash
101+
find /path/to/game/server/root -type f -name '*.cfg' -exec chmod -x {} \;
102+
```
103+
104+
To fix this issue on all new game servers, update the permissions in `/home/tcadmin/tcafiles/games/gamefolder`.
105+
106+
Another option is to set the value of `RestrictLinuxExe` to `False` in the server's `Override.config`. If you do this, it is recommended to use the game's File System Permissions to hide important files like the startup script and main binary.
107+
108+
## Open Game Server Ports When Service Is Created (firewalld)
109+
110+
**Q7.** How can I open game server ports when a service is created using firewalld?
111+
112+
**A7.** To open game server ports automatically when a service is created using firewalld, you can configure a global game script for the game server's after-created event. Use the following commands as an example:
113+
114+
```bash
115+
firewall-cmd --zone=public --permanent --add-port=${ThisService_GamePort}/tcp
116+
firewall-cmd --zone=public --permanent --add-port=${ThisService_GamePort}/udp
117+
firewall-cmd --zone=public --permanent --add-port=${ThisService_QueryPort}/tcp
118+
firewall-cmd --zone=public --permanent --add-port=${ThisService_QueryPort}/udp
119+
firewall-cmd --zone=public --permanent --add-port=${ThisService_RConPort}/tcp
120+
firewall-cmd --zone=public --permanent --add-port=${ThisService_RConPort}/udp
121+
firewall-cmd --reload
122+
```
123+
124+
These commands will add the specified ports to the firewalld configuration, making them accessible for the game server service when it is created.

docs/FAQ/windows-faq.mdx

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
---
2+
sidebar_position: 2
3+
sidebar_label: Windows FAQ
4+
---
5+
6+
# Windows FAQ
7+
8+
## Configure the TCAdmin Website to Run with IIS
9+
10+
**Q1.** How can I configure the TCAdmin website to run with IIS on Windows?
11+
12+
**A1.** To configure the TCAdmin website to run with IIS on Windows, follow the instructions provided in the article titled [Setting Up IIS With TCAdmin.](/customizations/web-server-configurations/setting-up-iis)
13+
14+
## Use a Custom SSL Certificate (Windows)
15+
16+
**Q2.** How can I use a custom SSL certificate for the control panel website on Windows?
17+
18+
**A2.** To use a custom SSL certificate for the control panel website on Windows, follow these steps: [Use Custom SSL Certificate (Windows)](/customizations/web-server-configurations/setting-up-iis#use-custom-ssl-certificate-windows-optional)
19+
20+
## Enable Web Console for Game Servers with Text Console
21+
22+
This method allows you to enable the web console for Windows game servers that have a text console, even if they don't create a log file with the output.
23+
24+
**Q3.** How can I enable the web console for a game server with a text console on Windows?
25+
26+
**A3.** To enable the web console for a game server with a text console on Windows, follow these steps:
27+
28+
1. Go to "Settings" > "Games."
29+
2. Select the specific game for which you want to enable the web console.
30+
3. Navigate to the "Custom Scripts" section.
31+
32+
4. Add a new batch script for the after-start event with the following command. Leave "Execute as the service's user" unchecked and set the order to 0:
33+
```batch
34+
copy /y "%TCAdminFolder%\Monitor\Tools\TCAdminConsoleWrapper.exe" "%ThisService_RootDirectory%TCAdminConsoleWrapper.exe"
35+
```
36+
37+
5. Add another batch script for the after-start event with this command. This time, check "Execute as the service's user" and set the order to 1:
38+
```batch
39+
cd /d "%ThisService_RootDirectory%"
40+
start TCAdminConsoleWrapper.exe -pid=%ThisService_Pid% -output=console.log
41+
```
42+
43+
6. Return to the game settings.
44+
45+
7. In the "Web Console" tab, enable the web console and set the web console output to `console.log`.
46+
47+
8. Save your changes and click on "Update Existing Services."
48+
49+
9. Go to the game server and restart it. If you click on the web console, it should work.
50+
51+
Now, the web console should be enabled for your Windows game server with a text console, allowing you to access it via the TCAdmin control panel.

0 commit comments

Comments
 (0)