[TWB]Pand Posted April 22, 2015 Posted April 22, 2015 We have scripting in place to alleviate the complexity of scheduled stops and starts for the DServer.exe process on our server; however, after the last update, the command line arguments to auto load an SDS file no longer work. For Example, last patch we could start the DServer with the following command and arguments: DServer.exe SDS\DServer01_TWB.sds This patch, all it does it open the DServer Application and we have to manually click Open, select the SDS file and start it. I have tried executing with DServer.exe --help and DServer.exe /? to determine if the syntax has changed, but there is no information. Few questions: 1. Did the syntax change? 2. What is the correct syntax? 3. Why did the syntax change? 1
[TWB]80hd Posted April 22, 2015 Posted April 22, 2015 4. Is there a new/better way for us to automate this?
-NW-FourSpeed Posted April 23, 2015 Posted April 23, 2015 Yep - our batchfile startup doesn't work anymore either.... Now we have to manually click the Dserver app, and then, click the "File" menu item, and then browse and click our server definition file, to open the .sds file to actually load the missions... If you're running a server for your buddies on a Saturday afternoon, no big deal... When you're running several game servers for multiple games 24/7, this is just plain "terribad". 777 Devs - Please understand the level of frustration you're creating - it would be *really* nice if you would release a RoF or BoS patch that *doesn't* FUBAR the #%@^#$ game. Seriously - you want server operators to *manually* start up servers???? Really???? To quote a great movie -- "You're Killin' Me, Smalls!" Please A> Fix your DServer Application or, failing that, B> Clarify the new "expected" procedures... Unless I'm completely missing an undocumented function, changing the DServer to NOT accept an .sds file as a parm is ... at best, shortsighted... You *really* don't want to know what I think it compares to at worst... 4
StG2_Manfred Posted April 23, 2015 Posted April 23, 2015 4. Is there a new/better way for us to automate this? Yes, there is a better way :-) I wrote a tool which ensures that dserver.exe run fully automatic. Please read the link below. I'm going to translate the labels to English probably today... I already updated our server to the current version and it still works fine - no issue here. http://forum.il2sturmovik.com/topic/15965-resetting/?p=254339
StG2_Manfred Posted April 23, 2015 Posted April 23, 2015 Guys, I translated my tool. If you want to download and use it, please use the following link: ftp://kampfverband13.de/IL-2_BoS/Server-Tool.exe The tool explains itself (hopefully). Your settings will be saved in a config.ini file in the same folder where the tool is stored. It already works flawlessly so far I could see but if you find a bug or have a recommendation please let me know. Open topics what I want to implement in the next days: - Possibility to create a permanent logfile to be able to see how often dserver.exe has crashed. - After a crash and restart of dserver.exe the window of MS error reporting tool stay forever until closed manually - I will close those windows automatically if a crash has occured. Feedback would be nice! StG2_Manfred 1
taleks Posted April 23, 2015 Posted April 23, 2015 AFAIK there were no any changes in dserver's command line. I've just tested it both with absolute path C:/game/data/Multiplayer/test.sds (game is installed in C:/Game) and relative to data path Multiplayer/test.sds, both work as it should work.
Habu Posted April 23, 2015 Posted April 23, 2015 Guys, I translated my tool. If you want to download and use it, please use the following link: ftp://kampfverband13.de/IL-2_BoS/Server-Tool.exe The tool explains itself (hopefully). Your settings will be saved in a config.ini file in the same folder where the tool is stored. It already works flawlessly so far I could see but if you find a bug or have a recommendation please let me know. Open topics what I want to implement in the next days: - Possibility to create a permanent logfile to be able to see how often dserver.exe has crashed. - After a crash and restart of dserver.exe the window of MS error reporting tool stay forever until closed manually - I will close those windows automatically if a crash has occured. Feedback would be nice! StG2_Manfred THX manfred, I'm going to test it on my server. Does it work with Rof too ?
StG2_Manfred Posted April 23, 2015 Posted April 23, 2015 AFAIK there were no any changes in dserver's command line. I've just tested it both with absolute path C:/game/data/Multiplayer/test.sds (game is installed in C:/Game) and relative to data path Multiplayer/test.sds, both work as it should work. Agree with you taleks. It wasn't necessary to change anything within my tool since the last update. maybe the switch open was missing? THX manfred, I'm going to test it on my server. Does it work with Rof too ? Hi Habu, probably not without some customizations. Right now the tool is 'looking' for the window title 'IL-2 Dedicated Server' for example (apart from some other things). But I guess it's not much work to adapt it for RoF. If you advise me what I have to do to run a RoF server (e.g. does I also need an activation key like in BoS), I'm going to test it and make a RoF version, if you want me.
Habu Posted April 23, 2015 Posted April 23, 2015 When you have time, it would be helpfull. I tried to test your program, but i have an error :
StG2_Manfred Posted April 23, 2015 Posted April 23, 2015 This is not a real error Habu, but a messagebox I created, because apparently dserver.exe cannot open the sds file if the path to it consists blank spaces. It is also not possible to set the path in quotation marks. That's the reason I do not 'allow' it in the tool. Please put your sds file into a path without any spaces. For example, if your path is: C:\IL-2 BoS then you just have to change the folder name to C:\IL-2_Bos (-> underscore between IL-2 and BoS) Attached a pic of our server, maybe it makes it more clear...
Habu Posted April 23, 2015 Posted April 23, 2015 (edited) Ok, thx, that's what i'm thinking. I hoped you could solve that. I'm going to test with a different patch for the sds. it will be very usefull, if we use the rcon tools. Edited April 23, 2015 by Habu 1
StG2_Manfred Posted April 23, 2015 Posted April 23, 2015 Until now I was only using the absolute file path to sds file. I even wasn't aware that it is also possible to use a relative file path until taleks post above. The problem with the spaces is within dserver.exe as it doesn't allow to set the path into quotation marks. I maybe could check whether the sds file is stored in the gamefolder and then use a relative path. I'm going to test it in the next days and if possible extend the tool. Thanks!
-NW-FourSpeed Posted April 23, 2015 Posted April 23, 2015 Guys, I translated my tool. If you want to download and use it, please use the following link: ftp://kampfverband13.de/IL-2_BoS/Server-Tool.exe The tool explains itself (hopefully). Your settings will be saved in a config.ini file in the same folder where the tool is stored. It already works flawlessly so far I could see but if you find a bug or have a recommendation please let me know. Open topics what I want to implement in the next days: - Possibility to create a permanent logfile to be able to see how often dserver.exe has crashed. - After a crash and restart of dserver.exe the window of MS error reporting tool stay forever until closed manually - I will close those windows automatically if a crash has occured. Feedback would be nice! StG2_Manfred Hi Manfred, Thanks for your efforts - I'll be happy to take a look at what you've done and see if it is applicable for us as well (I was working briefly on a python app to do something similar but got sidetracked with other projects which put that script on the back burner). As for what happens in the current case, our batch icons (simple double click to run) don't load the .sds file on the command line now for BoS as they did previously (prior to yesterday). These were simple windows batch files that execute DServer with the .sds file (relative pathing) as a parm. We never had an "open" switch on that command line A> Because we didn't know about it and B> It worked just fine without it for both RoF and BoS until yesterday (it still works just fine for RoF). If the "open" switch is now *required* -- that probably IS the problem and might have been nice to know about at patch-time. Anyway, I'll have some more time to look at it tonight. Once again, thanks for your program - I imagine it will prove to be quite handy. I'm curious as to what criteria you're using to be assured that the process is "dead" -- Missing, is pretty easy, but stale? I'm curious on your approach to that case. Could you clarify that? Regards, 4 <salute>
coconut Posted April 23, 2015 Posted April 23, 2015 I did some experiments. The problem is with spaces in the path to the SDS file. It does not matter if you pass a relative or absolute path to DServer.exe. My guess is that it will turn the path into an absolute path anyway, and if that absolute path contains spaces, you are out of luck.
-NW-FourSpeed Posted April 23, 2015 Posted April 23, 2015 (edited) I did some experiments. The problem is with spaces in the path to the SDS file. It does not matter if you pass a relative or absolute path to DServer.exe. My guess is that it will turn the path into an absolute path anyway, and if that absolute path contains spaces, you are out of luck. I know that one isn't the issue with ours - there are no spaces in the pathname(s) at all. Regards, 4 <salute> Edited April 23, 2015 by -NW-FourSpeed
caryatid23 Posted April 24, 2015 Posted April 24, 2015 For me it was spaces anywhere in the full path name of the file. So my startup.bat was: cd "C:\1C Game Studios\IL-2 Sturmovik Battle of Stalingrad\bin\game" Dserver.exe ..\..\..\dogfight.sds Which when the relative path is made full has, "1C Game Studios\IL-2 Sturmovik Battle of Stalingrad" as part of its path. By moving the sds to a dir with no spaces in self or parent dirs, its works: currently via: cd "C:\1C Game Studios\IL-2 Sturmovik Battle of Stalingrad\bin\game" Dserver.exe C:\dogfight.sds
[TWB]Pand Posted April 24, 2015 Author Posted April 24, 2015 I did some experiments. The problem is with spaces in the path to the SDS file. It does not matter if you pass a relative or absolute path to DServer.exe. My guess is that it will turn the path into an absolute path anyway, and if that absolute path contains spaces, you are out of luck.This was not an issue previously even with spaces... We always used relative path.
taleks Posted April 24, 2015 Posted April 24, 2015 We always used relative path. FourSpeed and Pand, please post more details about paths where your SDS files and game itself are stored and exact command line you use. I've checked sources history, command line parsing was not modified at all for a long time already. As for spaces, it's a bit of legacy code, dserver will accept paths with spaces in future versions.
StG2_Manfred Posted April 24, 2015 Posted April 24, 2015 Hi Manfred, Thanks for your efforts - I'll be happy to take a look at what you've done and see if it is applicable for us as well (I was working briefly on a python app to do something similar but got sidetracked with other projects which put that script on the back burner). As for what happens in the current case, our batch icons (simple double click to run) don't load the .sds file on the command line now for BoS as they did previously (prior to yesterday). These were simple windows batch files that execute DServer with the .sds file (relative pathing) as a parm. We never had an "open" switch on that command line A> Because we didn't know about it and B> It worked just fine without it for both RoF and BoS until yesterday (it still works just fine for RoF). If the "open" switch is now *required* -- that probably IS the problem and might have been nice to know about at patch-time. Anyway, I'll have some more time to look at it tonight. Once again, thanks for your program - I imagine it will prove to be quite handy. I'm curious as to what criteria you're using to be assured that the process is "dead" -- Missing, is pretty easy, but stale? I'm curious on your approach to that case. Could you clarify that? Regards, 4 <salute> Hi Four, it's a pleasure for me when more people than my own squadron want to use this tool - it's much more motivating! The weekend is reserved for my girlfriend, but during next week I will revise the tool and make some enhancements to make it a bit more comfortable for you. Btw., yesterday I implemted the closing of MS error reporting tool. I don't know yet if it works correctly, because I have to wait until this kind of crash occurs. The new version is already uploaded to our ftp server (link above), so feel free to download and test it. Your question about my criteria for the process: Yes it was a bit tricky, but I found a way which apparently works quite well. As you said, recognise a missing process is easy, but sometimes the process of dserver.exe still exists but the server isn't running anymore. But I noticed that then the CPU allocation doesn't change anymore. The tool checks every 3 seconds the CPU percentage of dserver.exe and if it doesn't change anymore, restarts the server. Of course it could happen that it has occasionally the same value while dserver.exe is running properly, so I made the number of checks variable. You can define it on your own in the GUI. On our server 5 checks are enough, it never happened that the server was restarted by mistake. But to make it most flexible you can decide how many checks you want to have executed before the restart is initiated. Regards StG2_Manfred
-NW-FourSpeed Posted April 24, 2015 Posted April 24, 2015 Hi Four, it's a pleasure for me when more people than my own squadron want to use this tool - it's much more motivating! The weekend is reserved for my girlfriend, but during next week I will revise the tool and make some enhancements to make it a bit more comfortable for you. Btw., yesterday I implemted the closing of MS error reporting tool. I don't know yet if it works correctly, because I have to wait until this kind of crash occurs. The new version is already uploaded to our ftp server (link above), so feel free to download and test it. Your question about my criteria for the process: Yes it was a bit tricky, but I found a way which apparently works quite well. As you said, recognise a missing process is easy, but sometimes the process of dserver.exe still exists but the server isn't running anymore. But I noticed that then the CPU allocation doesn't change anymore. The tool checks every 3 seconds the CPU percentage of dserver.exe and if it doesn't change anymore, restarts the server. Of course it could happen that it has occasionally the same value while dserver.exe is running properly, so I made the number of checks variable. You can define it on your own in the GUI. On our server 5 checks are enough, it never happened that the server was restarted by mistake. But to make it most flexible you can decide how many checks you want to have executed before the restart is initiated. Regards StG2_Manfred Thanks for the update Manfred - that was the sort of approach I was leaning towards -- basically if CPU% is 00 after X number of checks the server process is probably dead. As one other poster mentioned, it would be great if one process could run and check multiple BoS and RoF Servers defined in the config file. I didn't get to look at it tonight (was looking at the OP issue tonight first -- which is now solved for us ... details in a bit), and with the new release you just posted, it's probably good that I didn't get to it yet... Hopefully, I can take a peek at it this weekend. Regards, 4 <salute>
-NW-FourSpeed Posted April 24, 2015 Posted April 24, 2015 (edited) FourSpeed and Pand, please post more details about paths where your SDS files and game itself are stored and exact command line you use. I've checked sources history, command line parsing was not modified at all for a long time already. As for spaces, it's a bit of legacy code, dserver will accept paths with spaces in future versions. Hi taleks, First, I cannot tell you how much your participation in this thread means to me -- Thank You! Secondly, after updating with today's hotfix, I looked at our setup. I am including some screenshots to show you what we were seeing... That said, changing our batchfile to use a fully qualified path has resolved the issue for us and things work properly again with a simple double-click of the icon. Yay! In the meantime, here is what we had (using our Basic Training server as the example): As you can see, we hadn't changed this approach for *months* -- Interestingly (and I just noticed this when I looked at the screenies tonight) - I see the relative path is using unix conventions ... Hmmm. In any case, this file worked as expected until yesterday ... and the same format *still* works for our RoF servers, so something changed with the new patch. Whatever that change actually is, here's what we were seeing when trying to run that file - DServer starts up, but the sds line and mission lines are empty and never get loaded, staying in this mode indefinitely. Clicking the "File" menu item and pointing it to the .sds file does load things up, as mentioned in our original post, but obviously, that's not the way it used to behave previously). As mentioned above, I was able to resolve it by changing the batchfile. First, simply flipping the unix-style / to \ *did not* fix the problem -- the behaviour was the same as the above picture. However, fully qualifying the path to the .sds using windows convention does work, so I have changed our batchfile to this and it looks like the problem is now fixed for us. Once again, I *appreciate* you taking the time from your schedule to participate in this thread - it means a LOT to me. Thanks! Regards, 4 <salute> Edited April 24, 2015 by -NW-FourSpeed
StG2_Manfred Posted April 24, 2015 Posted April 24, 2015 (edited) Thanks for the update Manfred - that was the sort of approach I was leaning towards -- basically if CPU% is 00 after X number of checks the server process is probably dead. As one other poster mentioned, it would be great if one process could run and check multiple BoS and RoF Servers defined in the config file. I didn't get to look at it tonight (was looking at the OP issue tonight first -- which is now solved for us ... details in a bit), and with the new release you just posted, it's probably good that I didn't get to it yet... Hopefully, I can take a peek at it this weekend. Regards, 4 <salute> You can already run the tool several times on a Windows server and it can correctly differ the processes of dserver.exe. It also automatically docks the dserver window underneath the tool window to make clear which belongs to which. You just have to place the server-tool.exe in different folders as each of it needs it's own config.ini file. In the pic you see our Windows server running two Dservers, each monitored by it's own tool. The tool itself needs almost no resources so this is not a problem. About RoF server: As I said above, if you or someone advice me what to do to run a RoF server I can make a a dedicated version for it. Edited April 24, 2015 by StG2_Manfred
taleks Posted April 24, 2015 Posted April 24, 2015 Hm, I'll look to it next week more deeply. Probably, working directory at start of dserver is changed more earlier to data, than it was before.
-NW-FourSpeed Posted April 24, 2015 Posted April 24, 2015 You can already run the tool several times on a Windows server and it can correctly differ the processes of dserver.exe. It also automatically docks the dserver window underneath the tool window to make clear which belongs to which. You just have to place the server-tool.exe in different folders as each of it needs it's own config.ini file. In the pic you see our Windows server running two Dservers, each monitored by it's own tool. The tool itself needs almost no resources so this is not a problem. About RoF server: As I said above, if you or someone advice me what to do to run a RoF server I can make a a dedicated version for it. The highlighted text is the issue I would have with it. I don't want to run several processes to handle this - I want to run one process. For that process I want to be able to define ALL of the BoS / RoF servers that we are running with a configuration file (ie. ini) and have it cycle through the process table list looking for ALL of those defined server processes. If it finds a dead one, it should kill it and restart it. If one is missing, it should start it. So, for example the .ini that process should read might look something like this: [server] Manage = yes Name = BoS Basic Training Starts-In = C:\BoS-Training Program = DServer C:\BoS-Training\data\BT.sds Checks=5 [server] Manage = yes Name = BoS Wargrounds Basic Training Starts-In = C:\BoS-Wargrounds Program = DServer C:\BoS-Wargrounds\data\WG.sds Checks=5 [server] Manage = yes Name = RoF Basic Training Starts-In = C:\RoF-Training Program = DServer C:\RoF-Training\data\BT.sds Checks=5 [server] Manage = no Name = BoS Test Server Starts-In = C:\BoS-Testing Program = DServer C:\BoS-Testing\data\Test.sds Checks=5 With this type of layout, the one process could look for ALL of the "managed" servers and act accordingly. In the case of the Test Server, it is set to Manage=No, so the process would NOT look for that one - unless that parm gets changed. Typically, that process would log what it finds each cycle and maybe even do things like e:mailing or texting an Admin when it finds a missing or dead server that it restarts. That's the approach I was looking towards using Python (with psutil), but haven't gotten to, yet. That would use minimal server resources while monitoring everything that should be watched. Hope that clarifies what I was meaning with my prior post. Regards, 4 <salute>
[TWB]Pand Posted April 25, 2015 Author Posted April 25, 2015 FourSpeed and Pand, please post more details about paths where your SDS files and game itself are stored and exact command line you use. I've checked sources history, command line parsing was not modified at all for a long time already. As for spaces, it's a bit of legacy code, dserver will accept paths with spaces in future versions. Exact command: ran via batch script: DServer.exe SDS\DServer01_TWB.sds I'm not using spaces in the relative path, and it has worked fine since the DServer release through this past Wednesday's patches. Location is the default installation IL2 path off the Root of the I: drive.
taleks Posted April 26, 2015 Posted April 26, 2015 Exact command: ran via batch script: DServer.exe SDS\DServer01_TWB.sds I'm not using spaces in the relative path, and it has worked fine since the DServer release through this past Wednesday's patches. Location is the default installation IL2 path off the Root of the I: drive. Where is this SDS folder? data/SDS, bin/game/SDS, somewhere else?
StG2_Manfred Posted April 26, 2015 Posted April 26, 2015 @Four: I understand your approach but unfortunately this would mean a complete redoing of the tool and I don't have the time to create a completely different second one. Also, I don't believe that it's possible to run 4 or more servers on one hardware, except they are mostly empty :-). Right now we already struggle to run one BoS server with good performance on our dedicated server...
-NW-FourSpeed Posted April 26, 2015 Posted April 26, 2015 @Four: I understand your approach but unfortunately this would mean a complete redoing of the tool and I don't have the time to create a completely different second one. Also, I don't believe that it's possible to run 4 or more servers on one hardware, except they are mostly empty :-). Right now we already struggle to run one BoS server with good performance on our dedicated server... No worries - your second sentence however, is incorrect. We currently run 5 game instances (3 RoF and 2 BoS) and a teamspeak server on New Wings - the cpu usage on that box runs at about 30% and the memory usage runs at about 45%, so, not only is it possible, it works quite well if your server hardware is sufficient (our server has 6 cores and 12GB of memory, with ~ 2TB of bandwith allowance per month). I certainly wouldn't want you to rewrite your software, especially if it's meeting your needs, so I'll revisit writing the process I had mentioned previously - when I get some time... Cheers, 4 <salute>
StG2_Manfred Posted April 27, 2015 Posted April 27, 2015 That sounds very interesting Four. Please could you tell me the hardware specs of your server? And also how many players can fly lag-free at the same time? That would be nice! Our dedicated server is an Opteron 3365 (4 cores, 2,3 Ghz.), 16GB Ram, SSD HDD and a Gbit internet connection. Only TS3 server and BoS server are running currently, but as soon as 20+ players are connected we experience considerable lagging. I know that the CPU is not the best, but as you already mentioned, CPU workload of dserver.exe is never more than 20 percent. Would be nice if you could post your hardware specs and maybe you've got a tip what is most important for good performance! Thanks in advance!
[TWB]Pand Posted April 27, 2015 Author Posted April 27, 2015 Where is this SDS folder? data/SDS, bin/game/SDS, somewhere else? bin\game\SDS I've also tried putting the .sds file directly in the same folder with the dserver executable, and updating the relative path--- same result.
[TWB]Pand Posted April 27, 2015 Author Posted April 27, 2015 So apparently renaming/reinstalling the game to a different location other than the default naming convention, will work when calling the command line with an absolute path (that does not contain spaces). I believe something with the relative path was porked with the last patch.
-NW-FourSpeed Posted April 27, 2015 Posted April 27, 2015 That sounds very interesting Four. Please could you tell me the hardware specs of your server? And also how many players can fly lag-free at the same time? That would be nice! Our dedicated server is an Opteron 3365 (4 cores, 2,3 Ghz.), 16GB Ram, SSD HDD and a Gbit internet connection. Only TS3 server and BoS server are running currently, but as soon as 20+ players are connected we experience considerable lagging. I know that the CPU is not the best, but as you already mentioned, CPU workload of dserver.exe is never more than 20 percent. Would be nice if you could post your hardware specs and maybe you've got a tip what is most important for good performance! Thanks in advance! This is getting a bit away from the OP, so I'll send you a brief PM and leave this thread for the original topic. Regards, 4 <salute>
Habu Posted April 28, 2015 Posted April 28, 2015 I think talking about configuration should be in a post, because it can help other people, and we can share our experience. Quickly, because it's not the topic of the post, your problem is on the processor and its frequency. It's too slow. On my server with around 40 person, the frequency of my xeon goes to 3.43 Ghz.
StG2_Manfred Posted April 28, 2015 Posted April 28, 2015 Thank you Four and Habu for your answers, this helped a lot. And sorry for derailing the thread!
taleks Posted May 6, 2015 Posted May 6, 2015 Some info regarding this change. It is unexpected dependency of other module, which can't be changed back now. That module requires change to data folder at start, dserver loads SDS files a bit later. Thus now the only solution with relative paths is to store SDS files in data folder and its subfolders. 1
[TWB]80hd Posted May 6, 2015 Posted May 6, 2015 Some info regarding this change. It is unexpected dependency of other module, which can't be changed back now. That module requires change to data folder at start, dserver loads SDS files a bit later. Thus now the only solution with relative paths is to store SDS files in data folder and its subfolders. Thanks for letting us know!
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now