Jump to content

gijs007

Member
  • Posts

    51
  • Joined

  • Last visited

Everything posted by gijs007

  1. Nah the permissions are fine. Reinstalling won't help. These errors appear in the log when the TCadmin Service Manger becomes unstable. After analysing the issue I found that one of the services was constantly being restarted (due to a configuration error). This results in a lot of files being generated in the service's subdirectory located in: C:\Program Files\TCAdmin2\Monitor\Services\Launchers Every time the game server is started TCadmin generates three files: One batch file to execute the custom script. One batch file to launch the other batch file.. And also a .txt file which serves as a log by keeping track of the output from the batch file. I'm not sure why this is, but it seems like a very silly and inefficient design. These scripts don't or rarely change. Why would we need many identical files with different file names for each time the game server process is started? And why does TCadmin store this temporary data to disk? We can use RAM for this kind of data. To make this worse, the TCadmin Service Manager reads all of these files when starting a game server. Even though it doesn't actually need to use all of these files to start the game server. In my case this resulted in 30.000+ file operations in less than one minute, as can be seen in the screenshots below. Which cases the OS to run out of permission or filesystem handlers after some time, as such the read request from the TCadmin Service Manager fail with the error message I mentioned earlier. Hopefully this silly design will be changed so that it's efficient and doesn't use unnecessary filesystem resources. We can disable auto restarts all together, as workaround. However this is undesirable because it also prevents restarts from legitimate random processes crashes. What we would need is to have a limit in the amount of times a service can be auto restarted within a given time frame. (E.g. if the game server crashes more than 5 times in 10 minutes it will not be restarted automatically).
  2. The service manager logs show several of the following items:
  3. In the last few months I'm starting to see issues with the TCadmin Service Manager on my servers. The problem happens regularly on the servers with a higher amount of services, but has also been seen on servers which host less than 30 game servers. What I see is that the TCadmin Service Manager service crashes, restarting the Service Manager service results in a new crash within 2-60 minutes. Additionally symptoms are 10010 event ID's related to DistributedCOM errors in the Windows Eventlog. The only quick fix is to restart Windows. In some cases I was able to run the TCadmin Service Manager in console mode, which somehow doesn't crash (as often). I've already been in touch with TCadmin support since the end of January regarding this issue, but we haven't found a solution yet which is quite frustrating.. Luis suggested applying the registry settings for Windows Server 2008/2012 from: https://clients.tcadmin.com/knowledgebase.php?action=displayarticle&id=9 Unfortunately applying these registry settings did not improve the situation on my servers (using Windows Server 2016). Are there any other people who experience this problem? Any help in finding the cause and/or resolving this problem is appreciated!
  4. I've tried a smaller map, but it's not making a difference. According to the task manager the process "only" uses 10% CPU, but when you look at the graph it's maxing out an entire socket (about 10-30 seconds after starting the process). When I looked closer I even noticed that during startup it spikes on all 32 cores for a few seconds: Perhaps we can simply assign only one or two random/lowly utilized cores to the game? Is there a setting or custom_action for this which we can set in the game template?
  5. None, just the default game.
  6. Has anyone else noticed the crazy amount of resource usage from this game when running as a dedicated server? Rust uses 10% CPU (while the server is empty) on a dual Intel Xeon Silver 4110 server and causes 120.000 context switches per second. The extreme increase in context switches even triggered a warning from the monitoring software It's also using 3GB of RAM on an empty server. It's like developers don't even care about performance optimization.. Is there a way to decrease the resource usage of this game?
  7. I've opened a support ticket in December about this issue, but unfortunately it has not been picked up. Hence why I'm reporting the problem here. We use the user per service option in TCadmin (for security and disk quota reasons). What I've noticed is that these users also get their own directory under C:\users These directories often contain temporary files, which are created by the game servers or other applications. The problem is that TCadmin doesn't clean these directories up when a service is moved or deleted. Over time these directories can start using a lot of disk space. It would be great if a cleanup routine can be implemented which runs when a service is moved or deleted. Note: We currently use custom scripts to clean up these directories, but adding these scripts to each game service is undesirable and easily overlooked. Hence why I believe this should be coded into TCadmin.
  8. Did you upgrade to PHP 7? Perhaps that's why you need a new module
  9. I have two servers with TCadmin setup with MariaDB 10.2 X64 on Windows Server 2016. Both database servers are in master - master replication mode, and run the TCadmin website on IIS. Both servers are located in different continents, MySQL traffic and visitors are routed to the closest server which is available. In TCadmin I've enabled pooling and a long lifetime for the database connections, to prevent the delay caused by TLS for each and every connection to the database. Performance wise this all works perfectly, however TCadmin seems to have some issues with the pooling option and TLS. I've had some tickets open with TCadmin support/Luis about these issues for a while now, but we haven't found a solution to the problems as of yet.
  10. As some of you might know, TCadmin relies on the Winpcap library for bandwidth monitoring. Unfortunately Winpcap hasn't been in active development for a while, however there is an opensource alternative called Npcap. I haven't tested the "Winpcap compatible mode" with TCadmin, and it's unclear to me if there are any advantages to natively supporting Npcap instead of relying on this compatibility mode. I can imagine there would be issues with the security features, such as the restrictions to make Npcap require administrator credentials or that the performance isn't as good as in native mode. Either way I think it's important to update TCadmin to support the Npcap library, since it's opensource, but most importantly offers better security and performance than Winpcap and is still actively developed and compatible with Windows 10. Npcap binaries and source code can be downloaded for free at: https://nmap.org/npcap/
  11. Apparently the random errors are caused by the "Protocol=SSL" parameter for database connections. But this only causes problems on the master. According to Luis the master server doesn't need SSL for the MySQL connection. If the MySQL server ran on the same server and connected trough localhost there is indeed not really a need for SSL, however it doesn't run on the localhost at the moment. The primary issue is that we can't enforce SSL for the MySQL user account, which is something which we wanted to enforce to harden the security of the backend.
  12. Windows update doesn't restart the server twice every night I used the local host IP 127.0.0.1 Later I switched to a domain name by using an external MySQL server, but this didn't resolve the problem.
  13. I'm having random MySQL Authentication failed errors in my TCadmin monitor and service manager on my master server for the past few months. Luis told me it was an issue with my MySQL server, but this doesn't seem to be the case as I've already done the following: Switch from MariaDB 10.1.22 to MySQL 5.7.18 Using default configuration of MySQL/MariaDB Use a different node to host the MySQL server Additionally the remotes can connect normally to this MySQL server with the same username and password. This issue is limited to the master server. What happens? The control panel website on the master is unreliable. (Always at around the same time in the night for a couple of minutes at 04:30 and 04:50 ) The TCadmin monitor has to be restarted at least once a week to fix errors. Since a few days the service manager is also affected, it starts up but crashes within 2-3 minutes. We always see the following MySQL error: System.Exception: Error connecting to MySQL server. Retrying in 2 seconds (9 of 10). ---> Can't connect to MySQL server on 'mysql.elitegameservers.net' (10061): Authentication failed. --- End of inner exception stack trace --- at System.Environment.get_StackTrace() at TCAdmin.DatabaseProviders.MySql.MySqlManager.?() at TCAdmin.DatabaseProviders.MySql.MySqlManager.Connect() at TCAdmin.SDK.Database.DatabaseManager.Execute(String sql) at TCAdmin.DatabaseProviders.MySql.MySqlManager.Execute(String sql) at TCAdmin.SDK.Objects.ObjectBase.Find() at TCAdmin.SDK.Objects.Server.Find() at TCAdmin.SDK.Objects.Server..ctor(Int32 serverId) at TCAdmin.SDK.MonitorConfiguration.get_ThisServer() at TCAdmin.SDK.UnhandledExceptionManager.?(Boolean ?) at TCAdmin.SDK.UnhandledExceptionManager.ExceptionToString(Exception objException) at TCAdmin.SDK.UnhandledExceptionManager.UnhandledExceptionHandler(Object sender, UnhandledExceptionEventArgs e) at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) at System.IO.FileStream.WriteCore(Byte[] buffer, Int32 offset, Int32 count) at System.IO.FileStream.FlushWrite(Boolean calledFromFinalizer) at System.IO.FileStream.Flush() at IronPython.Runtime.PythonTextWriter.Flush() at IronPython.Runtime.PythonFile.FlushWorker() at IronPython.Runtime.PythonFile.Dispose(Boolean disposing) at IronPython.Runtime.PythonFile.Finalize() TCAdmin.SDK.Database.DatabaseException: Can't connect to MySQL server on '(MySQL IP)' (10061): Authentication failed. ---> Can't connect to MySQL server on 'mysql.elitegameservers.net' (10061): Authentication failed. --- End of inner exception stack trace --- at TCAdmin.DatabaseProviders.MySql.MySqlManager.?() at TCAdmin.DatabaseProviders.MySql.MySqlManager.Connect() at TCAdmin.SDK.Database.DatabaseManager.Execute(String sql) at TCAdmin.DatabaseProviders.MySql.MySqlManager.Execute(String sql) at TCAdmin.SDK.Objects.ObjectBase.Find() at TCAdmin.SDK.Objects.Server.Find() at TCAdmin.SDK.Objects.Server..ctor(Int32 serverId) at TCAdmin.SDK.MonitorConfiguration.get_ThisServer() at TCAdmin.SDK.UnhandledExceptionManager.?(Boolean ?) at TCAdmin.SDK.UnhandledExceptionManager.ExceptionToString(Exception objException) at TCAdmin.SDK.UnhandledExceptionManager.UnhandledExceptionHandler(Object sender, UnhandledExceptionEventArgs e) This error would indicate that the password or username is wrong, but this isn't the case. TCadmin is able to connect to this database with the same credentials, this error shows up randomly. I really need to get it solved, but unfortunately Luis doesn't respond to these tickets Has anyone experienced similar issues or know a solution? I'm considering reinstalling/reconfiguring TCadmin, but I'm not sure how to do this on the master while keeping all the gameservers.
  14. We'd like to give customers the option to "upgrade/downgrade" their server location in WHMCS. WHMCS already supports this, but TCAdmin doesn't. We'd love to give customers the option to change their game server location directly from within WHMCS.
  15. So if I disable: "Enable activity and resource usage stats" (for each game template), the historic stats are disabled? And this would reduce the monitor's CPU usage on the master?
  16. It takes over 10 seconds, as you can see in the earlier quoted debug log. As we start adding more locations this will only take longer and longer. I agree with you that the end user won't notice the difference with <10 locations, but my point was that this process is illogical, very inefficient and could be much faster with a few changes. On a side note: I think there is a lot of inefficient code in TCadmin v2, as I often see CPU spikes on my servers, caused by the TCadmin monitor using one entire core for no good reason. I do get comments from people that they are frustrated about the TCadmin website responding relatively slowly. Hence why I address such issues, as I hope it will change the focus on improving the code quality of TCadmin in general and thus improve the overall performance and stability.
  17. The setup process of a game server is currently relatively slow: 27/03/2017 12:28:18 Using API settings for user id 1. Servers: * Selection: LessSlots 27/03/2017 12:28:18 Checking server... id: 1 name: Amsterdam, The Netherlands 27/03/2017 12:28:18 Server is in different datacenter. 27/03/2017 12:28:18 Checking server... id: 10 name: Dallas, Texas 27/03/2017 12:28:18 Server is in different datacenter. 27/03/2017 12:28:18 Checking server... id: 8 name: London, United Kingdom 27/03/2017 12:28:18 Assetto Corsa (115) is selected in the server's API configuration. Selected games: * 27/03/2017 12:28:18 Server is available: id: 8 name: London, United Kingdom Slots: 1088 of 0 Services: 60 of 0 27/03/2017 12:28:19 Checking server... id: 9 name: Los Angeles, California 27/03/2017 12:28:19 Server is in different datacenter. 27/03/2017 12:28:19 Checking server... id: 6 name: Montreal, Quebec 27/03/2017 12:28:20 Server is in different datacenter. 27/03/2017 12:28:20 Checking server... id: 5 name: Roubaix, France 27/03/2017 12:28:20 Server is in different datacenter. 27/03/2017 12:28:20 Checking server... id: 4 name: Washington D.C. 27/03/2017 12:28:20 Server is in different datacenter. 27/03/2017 12:28:20 Number of servers available: 1 Selection method: LessSlots 27/03/2017 12:28:20 Checking for files and ports on server Id: 8 name: London, United Kingdom 27/03/2017 12:28:31 Selected server: id: 8 name: London, United Kingdom This task: 34108 This step: 1 Updating task step: 2 It appears that the database search is looking for all datacenters which match the ID. And continues looking after it already found a match.. This doesn't make sense, as each datacenter has a unique ID. There is no reason to look for other matches. I think this function can perform better by changing the SQL query, so that it only selects servers with a certain datacenter ID. Also, we only have one server. Selecting this server from the list of servers in this datacenter shouldn't take more than a second. --- I think the server selection method could be improved by preparing some data to speed up the provisioning process. We can decide which server should be used to provision the next service, before we get to the part where the next service is actually being provisioned. For example in the case of round robin: after creating a service we can update the database to use server X next time. This can then simply be looked up quickly when the provisioning process is started. When using slot/service counts for load balancing, we can also calculate the total slots/services on a machine (e.g. after creating or deleting a service). During provisioning we only need to lookup which machine has the fewest slots / services used. Seems like TCAdmin checks all ports manually to see if they are used, as I can't possibly see why this would take 2 minutes and 30 seconds. Idea 1: This can be optimized by using netstat to find all the used ports on a system. These ports can now be excluded from the selection. Now simply select a port (range) that is available and matches the criteria. Finally do a check to verify these ports are indeed free and then proceed. This shouldn't take more than 10 seconds on a modern server. Idea 2: We already know which ports are in use by TCAdmin, this information could be stored on the local server and the used ports can be excluded from the existing process. Idea 3: When idle, check which port (ranges) are free for each template game/voice server. These free port ranges can be used during provisioning later. The preselected ports should be verified when provisioning the server, as an application could theoretically have started using this port between the last check and the provisioning process.
  18. Thanks, this is great. I just have one question, how can we trigger these rules when we do a fresh install of a box? We can reinstall TCadmin and copy all the gameserver files back, but their servers won't work because the firewall rules wouldn't be there. Which means we'd manually have to add them or reinstall the services. Which is not convenient at all. Update: NVM, just export the firewall rules in the Windows Firewall and import them again.
  19. Nope, using other IP's than the default is still broken on Windows with the standard SA-MP files (although on Linux it works fine.). Even after all these years and several reports they haven't bothered fixing it. It's good to see that there is a third party fix for this, although I suppose I don't really need it since I've set SA-MP up to use the primary IP.
  20. Great these improvements are very welcome I assume the $[user.Password] sends the password by email at the moment it's randomly created? Since I don't see how else this could work with undecryptable passwords.
  21. I agree with the above posts, the support here is great and so is the panel. As a starting or small business it's probably the best option you have. It works really well and allows us to do the things we want to do. Bug fixes are fast (usually a matter of hours) and the support is great and has a lot of knowledge about TCadmin but also about OS/Game Server management. (I've had a few questions for example about running extra mods/software when using TCadmin and Luis explained how we can use a batch file and how to still be able to use command line parameters.) Sometimes I wish it was opensource or to have my own custom panel so that it can be edited with features/changes I'd like to see. Because now we all depend on Luis for this and can't really do it our self or hire someone to make the changes we want. That is probably the only down side TCadmin (or any other bought panel for that matter) has over using an opensource panels or in house panels. I've had a look at other panels back in the day, but none were as good as TCadmin especially the opensource ones were bad (lack of support and development + lack of features compared to TCadmin). I do hope one day we get a feature tracker where we can all vote on features which we would like to be implemented. And perhaps the folks at TCA can hire some (temporarily) work force to help them implement those. TLDR: Pros: I'd rate TCadmin 8/10 Support is great Has all the functionality you really need No better alternatives AFAIk Con: Can't make adjustments to source code/fully tune it.
  22. I understand that, and I don't blame you for not sharing your work. After all, it's not an obligation for anyone and I'm not going to claim I am some sort of saint that always shares all of my work. I mean who does? The point I wanted to make is that it's just not a good idea (in fact a very very bad idea probably) to sell the previously mentioned theme's and configs as of the shelf products. Because people will want to make changes to them. What happens if someone else buys them under an alias or if someone sees a smart batch script in a config he/she bought from you for game A and then figures out he/she can use it (with some editing) for his/hers own config for game B and (later) sells the config for game B or shares it for free? Or what if someone doesn't lack the expertise but finds a config for a good price and thinks it's not worth to spend the time to make a working config, but later they improve/update/innovate and adjust that config, at first for their own needs but maybe they later want to sell it or share it. I think as a community we should avoid having conflicts of interest like these, it creates a lot of grey area's and will eventually cause problems. Even if you are quite relaxed and reasonable in handling this (and I believe you are) someone else might not be. For example a company can be bought by someone including the rights for those script, and maybe the buyer/stakeholders of that company wants to go very offensive with defending the works of his companies, when with the previous owners it was not a real problem. I think as a community we should stick with how it's now: free theme's and config's can be posted on the forums and if someone doesn't have the expertise to make those they can hire someone who does to create a theme or config for that person. The issues I'm painting out already exist between a lot of large (public) companies, take Samsung VS Apple for example. I'd hate to see that happen here, It's not good for the industry and it's not good for the customers/gaming community.
  23. I honestly wasn't asking for a off the shelf theme nor am I interested in one. My goal is to learn from existing templates and create something of my own. And during the learning process share some of my views and improvements so that the community can all learn from each other. I know that Dennis used to share before and I really appreciate that. Unfortunately, now that he has a contract with a new owner of his business he is no longer allowed to do this. I can understand that point of view but I think everyone in the IT industry makes use of freely available community information and it's only fair to give back to that same community (Although not required). That is the synergy that the internet has created, and hiding everything behind paywalls and other constructions isn't doing anyone any good in the long term. I'm also not sure if selling configs and themes is really a good idea, what happens if someone reverse engineers a config or theme or uses parts of other people's work and creates his own and then asks money for it or even releases it for free while someone else isn't? I'm sure this can cause a lot of (legal) trouble and flamewars and I believe this isn't something that should be encouraged. Sure, you can sell support to people (on request) but selling off the shell solutions that can easily be recreated by someone else can cause lots of issues. and it would be unfair and not desirable if others are no longer allowed to create/share a config for game X because someone else is already offering one. We have a similar problem with the CSS code of the theme's here, it's using existing CSS code from TCadmin created by Luis, we are all free to edit that CSS code to our own needs and adjust it (even if that means someone recreated a one on one copy of Dennis his template) Don't get me wrong, I'm not against proprietary software by definition. But I just don't think it's a good idea to ask money in the above cases. If you were to sell icon packs, then that is a different case because there will always be some differences in those icons and there are a million ways to create them. (and even here I see some icons are very similar between your icon pack and one created by someone else.) But especially with a game config or by editing the TCadmin template you don't have anyway to determine if someone copied someone else's code, reverse engineered it or came up with it completely on his own.
  24. Looks really neat. Could you share some (example) CSS code? I'm interested in the code for the top bar. I've tried this my self, but couldn't get the text and icons to center in the middle. I'd also like to play around with the loading bars and fonts, but I don't know the CSS code for those either.
  25. I'm having the same issue here, I've even tried the Arma 3 protocol but noting..
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. Terms of Use