Jump to content
[TWB]Pand

DServer command line arguments no longer work?

Recommended Posts

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?

 

 

  • Upvote 1

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

  • Upvote 1

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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 ?

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

When you have time, it would be helpfull. I tried to test your program, but i have an error :

 

post-10212-0-43283500-1429799912_thumb.jpg

Share this post


Link to post
Share on other sites

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...

 

 

post-3029-0-46285800-1429801128_thumb.png

Share this post


Link to post
Share on other sites

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 by Habu
  • Upvote 1

Share this post


Link to post
Share on other sites

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!

Share this post


Link to post
Share on other sites

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>

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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 by -NW-FourSpeed

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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>

Share this post


Link to post
Share on other sites

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

 

post-18006-0-77851900-1429862983_thumb.jpg   post-18006-0-94096300-1429862998_thumb.jpg

 

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

 

post-18006-0-29827400-1429863007_thumb.jpg

 

 

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.

 

post-18006-0-99155100-1429863045_thumb.jpg

 

 

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 by -NW-FourSpeed

Share this post


Link to post
Share on other sites

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. 

post-3029-0-87606900-1429864439_thumb.png

Edited by StG2_Manfred

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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>

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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?

Share this post


Link to post
Share on other sites

@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...

Share this post


Link to post
Share on other sites

@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>

Share this post


Link to post
Share on other sites

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!  :salute:

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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.  

Share this post


Link to post
Share on other sites

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!  :salute:

 

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>

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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.

  • Upvote 1

Share this post


Link to post
Share on other sites

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!

Share this post


Link to post
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now

×