Jump to content
SAS_Storebror

Hosting a DServer locally for testing

Recommended Posts

Dear all,

 

Up to version 3.0x, I was able to run a DServer instance locally, listening on 127.0.0.1, in order to test missions before they were sent to the real server.

Since version 3.1x, this seems not to work anymore.

DServer loads, registering at Master Server works well, mission loads fine but... when launching the game, I can't see my local server in the list anymore like I did with 3.0x.

Does anybody have a hint for me how to work around this issue?

 

Sure, I can run a new Server from within the game client itself, but unfortunately doing so isn't exactly the same in every aspect like running the same mission on a DServer instance, certain MCUs only work well on DServer.

 

:drinks:

Mike

Share this post


Link to post
Share on other sites
Posted (edited)

I tested my local DServer successfully. I'm using the IP4 address of my PC in the Server IP setting. See "Server IP" on pg. 328 of the editor manual.

 

Also, Coconut had success leaving the Server IP field blank. Here are some posts regarding this tactic:

 

           (in the next post, =LG=Kathon responds to the post above, mentioning a reason to specify an IP and not leave the field blank)

 

Edited by JimTM
  • Thanks 1

Share this post


Link to post
Share on other sites

Well that's odd.

I've tried that on 4 PCs now.

In the past, setting "Server IP" in the SDS file to "127.0.0.1" always worked.

It doesn't anymore.

I've tried leaving the field blank, doesn't work either.

I've tried the PC's IP address, doesn't work either.

I've tried the PC's external IP address, doesn't work either (which makes sense because the router is not forwarding the ports, in the end I don't want to publically host my test session).

I've tried to set "ExternalIP" to "0" and "1" for either of these, doesn't change a thing.

 

Tested on 4 completely different PCs (2xDesktop, 2xLaptop) in two completely different networks (home and corporate).

Registering the DServer instance on the Master Server works, but the test instance never ever appears on the server list.

 

:drinks:

Mike

Share this post


Link to post
Share on other sites

Just what I was thinking of as well, but: No.

I've even tried to set my home router's port forwarding, still no joy.

This looks odd.

I'll try a complete reinstall of the DServer test instance now.

 

:drinks:

Mike

Share this post


Link to post
Share on other sites

Back again from the complete reinstall - the full 13-dot-something gigabytes - and...

...

..

.

.

.

..

... the issue persists.

What the...?

I even took the original SDS file from our working public server, entered the credentials of our test account and added a "2" to the name, effectively loading the very same mission that is running well publically, with the very same settings, just adding a "2" to the server name and - nada.

Everything looks great, the DServer log is exactly the same like on the working public server (except for the name and the IP address of course), but the server doesn't appear on the list of availabler servers.

And this, I have to repeat, worked perfectly fine on 3.0x, it just stopped working on 3.1x.

 

Here is the SDS file, just in case:

// Generated by dserver

// credentials

login = "<our login>"
password = "<our password>"

// server info

ranked = 0
mode = 1
banTimeout = 300
lobbyTimer = 60
coopQuorum = 0
allowMouseJoy = 1
ServerName = "The Flying Ass Clowns 2"
TacviewRecord = true

serverDesc = "IL-2 Great Battles Server 2 operated by The Flying Ass Clowns"

// connection settings

protection = ""
maxClients = 70
maxClientPing = -1
ExternalIP = 1
ServerIP = ""
DownloadLimit = 150000
UploadLimit = 150000
DownloaderPort = 28100
TCPPort = 28000
UDPPort = 28000

// remote console settings

RconStart = 0
RconIP = ""
RconPort = 8991
RconLogin = ""
RconPassword = ""

// mission rotation data

ShutdownLoads = -1

[rotation]
random = true
   file = "Dogfight\FAC Training No37 Summer\FAC Training No37 Summer"
   file = "Dogfight\FAC Training No37 Autumn\FAC Training No37 Autumn"
   file = "Dogfight\FAC Training No37 Winter\FAC Training No37 Winter"
[end]

// preset and advanced settings

preset = 1

// preset: server related

killNotification = 1
friendlyFireReturn = 0
finishMissionIfLanded = 0
lockPayloads = 1
lockSkins = 0
lockFuelLoads = 0
lockWeaponModes = 1
penaltyTimeout = 10
respawnTimeout = 1
coalitionChangeTimeout = 10
finishMissionTimeout = 1
missionEndTimeout = 10
idleKickTimeout = -1
tdmPointsPerRound = 2000
tdmRoundTime = -1
coalitionsBalancer = false

// preset: mission related

objectIcons = true
navigationIcons = true
aimingHelp = false
courseWeaponsAimingHelp = false
padlock = true
simpleDevices = true
allowSpectator = true

easyFlight = false
autoCoordination = false
autoThrottle = false
autoPilot = true
autoThrottleLimit = true
autoMix = true
autoRadiator = true

noMoment = false
noWind = false
noMisfire = false
noBreak = false
invulnerability = false
unlimitFuel = false
unlimitAmmo = false
engineNoStop = false
hotEngine = true

As written before, changing "ExternalIP" to "0" doesn't help, setting "ServerIP" to e.g. "127.0.0.1", the router's internal or external IP doesn't help - nothing helps.

I've got no idea what's going wrong here.

 

:drinks:

Mike 

Share this post


Link to post
Share on other sites
Posted (edited)

Hi Mike! 

Most probably this is not your case, but it might be worth trying. I'm a developer and I've been noticing some weird behavior lately with Windows Firewall. Basically, input rules are disabled after I recompile a networked program. This is normal. The executable changed and it is sensible to distrust it. What seems to have changed is that Windows used to detect this inconsistency and asked again if I want to grant network access to the executable. Now it simply fails silently (refusing a connection) and I'm forced to manually delete the associated rules (in advanced firewall configuration) to coax the system into asking permissions again and restore connectivity. 

Good luck! 

Sergio 

Edited by OG_Rosco
  • Thanks 1

Share this post


Link to post
Share on other sites

Thanks for the hint but that's indeed not the case here.

I've thought about the Firewall yesterday already and removed all rules for DServer and anything else that looked like it could interfer.

Actually DServer asked on next start whether I want to grant access to the internet and all settings have been applied correctly (here: All TCP and UDP ports inbound have been granted).

On today's reinstall from scratch, since the path has changed ("IL-2 Sturmovik Great Battles" instead of "IL-2 Sturmovik Battle of Stalingrad"), Firewall asked again and granted access to DServer in it's new location as well.

Besides that, 127.0.0.1 needs no firewall rules and has been working before as mentioned.

 

:drinks:

Mike

Share this post


Link to post
Share on other sites

I'm not sure this would be the case, I suspect you have more experience with this than me,  but your upload and download limits look like they're set quite high. Perhaps that is causing the problem. They might be good for your datacentre server,  but perhaps not your local one. Unless you do have a 60 meg upload speed,  in which case, I envy you. 

 

I haven't had mine fail to show up when it's above my internet upload speed,  but I haven't had then set that high (only the default 50k,  which is, I think what causes that hang problem when people try to connect to a server). 

  • Thanks 1

Share this post


Link to post
Share on other sites

Since I'm on a 100MBit up/down line @home and 1GBit up/down otherwise, I don't think this is a problem.

Nevertheless, I've tried lowering the values 10k each and the issue persists.

 

:drinks:

Mike

Share this post


Link to post
Share on other sites
Posted (edited)

 

On 6/19/2019 at 6:58 PM, SAS_Storebror said:

Dear all,

 

Up to version 3.0x, I was able to run a DServer instance locally, listening on 127.0.0.1, in order to test missions before they were sent to the real server.

Since version 3.1x, this seems not to work anymore.

DServer loads, registering at Master Server works well, mission loads fine but... when launching the game, I can't see my local server in the list anymore like I did with 3.0x.

Does anybody have a hint for me how to work around this issue?

 

Sure, I can run a new Server from within the game client itself, but unfortunately doing so isn't exactly the same in every aspect like running the same mission on a DServer instance, certain MCUs only work well on DServer.

 

:drinks:

Mike

 

In the sds file, set the ip to the ip address of the machine running the server. If you don't know it, open a DOS window by typing command in the Windows search bar. Then at the prompt, type: ipconfig <enter>

 You should get something like this:

 

Windows IP Configuration


Ethernet adapter Local Area Connection:

   Connection-specific DNS Suffix  . :
   Link-local IPv6 Address . . . . . : fe80::d6f:e1cc:36b9:c613%11
   IPv4 Address. . . . . . . . . . . : 192.168.1.102
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Default Gateway . . . . . . . . . : 192.168.1.1

 

It's the ipv4 address you want. You can look-up how to make it static.

 

Edited by Cynic_Al
  • Thanks 1

Share this post


Link to post
Share on other sites

Thanks for your feedback @Cynic_Al but see, I've tried that in the very beginning already and after the complete reinstall as well, to no avail:

 

On 6/20/2019 at 7:13 AM, SAS_Storebror said:

I've tried that on 4 PCs now.

In the past, setting "Server IP" in the SDS file to "127.0.0.1" always worked.

It doesn't anymore.

I've tried leaving the field blank, doesn't work either.

I've tried the PC's IP address, doesn't work either.

I've tried the PC's external IP address, doesn't work either (which makes sense because the router is not forwarding the ports, in the end I don't want to publically host my test session).

I've tried to set "ExternalIP" to "0" and "1" for either of these, doesn't change a thing.

 

Tested on 4 completely different PCs (2xDesktop, 2xLaptop) in two completely different networks (home and corporate).

 

:drinks:

Mike

Share this post


Link to post
Share on other sites

I know you probably already know this so please forgive me for my suggestion or if it has been mentioned before. Have you tried having the option external enabled. I'm no in front of the pc right now but I believe there was something that said external or something like that near the area where you put your ip.

  • Thanks 1

Share this post


Link to post
Share on other sites

I don't suppose you saved the sds file in the wrong location,  such as the multiplayer folder? I think mine only works if it's in the same folder as il2.exe. 

  • Thanks 1

Share this post


Link to post
Share on other sites
18 hours ago, SCG_Riksen said:

Have you tried having the option external enabled.

As written in my post right above yours:

On 6/20/2019 at 7:13 AM, SAS_Storebror said:

I've tried to set "ExternalIP" to "0" and "1" for either of these, doesn't change a thing.

So yes, I've tried that and it didn't help.

 

18 hours ago, SpocksOddSocks said:

I don't suppose you saved the sds file in the wrong location,  such as the multiplayer folder? I think mine only works if it's in the same folder as il2.exe. 

Can't confirm that. On our working public DServer, the SDS file is in a completely different location than the remaining parts of the game and it works fine.

Nevertheless, I've tried with the SDS in the "bin/game" folder and as expected, it doesn't change a thing.

 

Thanks for your suggestions gents but the mystery is still unsolved.

 

:drinks:

Mike

Share this post


Link to post
Share on other sites

Still banging my head on this...

 

Last weekend I've performed some more tests @home.

Some things I've found out are:

  • If "ServerIP" gets set to any specific value, it has to be an IP address that exists locally on the PC, otherwise DServer will throw a "mission load error".
  • If "ExternalIP" is set to "1", DServer will always use the PC's IP address assigned by the router locally.
    For instance, the PC in question has the local IP "192.168.178.2" and external IP "84.46.***.***".
    It is reachable from the internet on the external IP (e.g. running a webserver on the same PC works and it can be reached from e.g. a mobile phone).
  • Port Forwarding on the router and Windows Firewall are configured correctly.
    Ports 8991 (remote console), 28000 (game itself) and 28100 (Downloader) are configured for both TCP and UDP protocols.

This is my current testing SDS file (it doesn't matter where it's stored by the way, I've tried). It's based on the one we run on our public server, only difference is that this test file has just one single mission configured and it's using a different login. The login is double-checked and if you alter a single bit of it, DServer will not register to the Master Server anymore:

// Generated by dserver

// credentials

login = "********************"
password = "**********"

// server info

ranked = 0
mode = 1
banTimeout = 900
lobbyTimer = 60
coopQuorum = 0
allowMouseJoy = 1
ServerName = "The Flying Ass Clowns TEST"
TacviewRecord = true

serverDesc = "IL-2 Great Battles TEST Server operated by The Flying Ass Clowns"

// connection settings

protection = ""
maxClients = 50
maxClientPing = -1
ExternalIP = 1
ServerIP = ""
DownloadLimit = 50000
UploadLimit = 50000
DownloaderPort = 28100
TCPPort = 28000
UDPPort = 28000

// remote console settings

RconStart = 0
RconIP = ""
RconPort = 8991
RconLogin = "mastergubi"
RconPassword = "elephant"

// mission rotation data

ShutdownLoads = -1

[rotation]
random = false
   file = "Dogfight\FAC Training No38 Winter\FAC Training No38 Winter"
[end]

// preset and advanced settings

preset = 1

// preset: server related

killNotification = 1
friendlyFireReturn = 0
finishMissionIfLanded = 0
lockPayloads = 1
lockSkins = 0
lockFuelLoads = 0
lockWeaponModes = 1
penaltyTimeout = 10
respawnTimeout = 1
coalitionChangeTimeout = 10
finishMissionTimeout = 1
missionEndTimeout = 1
idleKickTimeout = -1
tdmPointsPerRound = 2000
tdmRoundTime = -1
coalitionsBalancer = false

// preset: mission related

objectIcons = true
navigationIcons = true
aimingHelp = false
courseWeaponsAimingHelp = false
padlock = true
simpleDevices = true
allowSpectator = true

easyFlight = false
autoCoordination = false
autoThrottle = false
autoPilot = true
autoThrottleLimit = true
autoMix = true
autoRadiator = true

noMoment = false
noWind = false
noMisfire = false
noBreak = false
invulnerability = false
unlimitFuel = false
unlimitAmmo = false
engineNoStop = false
hotEngine = true

 

This is the router config (you see every entry twice, one is for UDP, one for TCP, left is the PC's internal IP):

1968218222_localDServer01.PNG.bda0444927271878002165c204d1ed81.PNG

 

These are the firewall settings. Additionally the "DServer.exe" is also configured in the firewall to have access to each and everything:

1281943699_localDServer02.PNG.e699737f42c5c15df541cdbaed94367e.PNG   1850678444_localDServer03.PNG.cea26229870d306fadcf0392eb316e30.PNG

 

This is the SDS with manually configured IP:

1712072190_localDServer04.PNG.727a40f945b624d709935847263d4390.PNG

 

This is what DServer.exe shows when loading that SDS:

878628723_localDServer05.PNG.c3aba15a6527963bbbea1df3d716344e.PNG

 

Same thing with "External" checked:

1642414255_localDServer06.PNG.b2dc42ab88bf1cfc66b8d1c05daab85f.PNG

 

DServer again is happy:

559599697_localDServer07.PNG.47ac8ac12e677456e71a8c2c4c787d36.PNG

 

But what does it help when the Server doesn't get listed?

This is the Server list, our publically hosted normal server is listed, the locally hosted test instance isn't:

1324141315_localDServer08.thumb.PNG.013f0029cb7ff498df049763cf2c0d62.PNG

 

:drinks:

Mike

Share this post


Link to post
Share on other sites

Have you double checked the "startup.cfg" file to make sure nothing suspicious has changed in the system key? 

 

Clutching at straws probably, but I think I'm frustrated for you.

 

FAC has, until recently, been the only working "Normal Setting" alternative when DED normal had been down, so I am grateful for your work so far,  and really want to see you get your problem solved. 

Share this post


Link to post
Share on other sites
Posted (edited)

Lucky us the real server isn't concerned. I'm only trying to get my local "test" copy working again like it's been for years.

The startup.cfg is fresh from the reinstall. I've compared it to the working file from the public server and there's no difference.

Yesterday I've uploaded the whole game folder from my local PC to our server on the internet to see whether it's working there.

It does.

So this is probably something related to connectivity, but now that all ports are open and the PC can be reached from the internet, I'm scratching my head as to what could keep it from showing up on the list...

 

:drinks:

Mike

 

Edited by SAS_Storebror

Share this post


Link to post
Share on other sites

Absolute stab in the dark but could having both servers using the same ports be causing you the problem?

 

ExternalIP = 0 (1)
DownloaderPort = 28101 (28100)
TCPPort = 28001 (28000)
UDPPort = 28001 (28000)
RconPort = 8992 (8991)

 

Wheels

  • Thanks 1

Share this post


Link to post
Share on other sites

Thanks for your reply wheels.

I've tried changing the port already, unfrotunately it didn't help.

The two server instance (the "real" one and the "test" instance) are on different systems usually anyway, so I didn't expect a port change to fix the issue.

I didn't try the latest game update version yet but might do so in the coming days.

 

:drinks:

Mike

Share this post


Link to post
Share on other sites

Sorry to hear it didn't work Mike. I am going to be setting up two servers myself just the way you are describing and the fact that an experienced user such as yourself is having problems is very concerning to me. At the moment I have the 352nd squad server (mods enabled) visible to everyone. That 0 and 1 thing really mattered for me !!! I have not started on the LAN version just yet since I want a successful few days under my belt before I move on to the next challenge. If things go as planned and it does actually work or even if it doesn't I will be coming back to discuss the fix or the problems I have encountered with the setup.

 

I am running the 3.102 version that was just released a couple of days ago.

 

Wheels

  • Thanks 1

Share this post


Link to post
Share on other sites

Yeah thanks wheels, it's good to know we're not alone 😉

Saw your server on the list yesterday. Welcome to the tiny club of mod enabled servers!

You're right that when you run multiple DServer instances on the same host, they have to listen on different ports.

That comes natural, it's the same thing with every program listening on incoming ports, e.g. in 1946 it was the same deal.

My issue might just mean that there is no such thing like a LAN hosted DServer anymore.

Testing 3.102 will tell more... just need to find time for doing so.

 

:drinks:

Mike

  • Upvote 1

Share this post


Link to post
Share on other sites

I haven't had any success with this Mike. So far I have tried running two instances of the server on the same machine with different ports and when I start one the other gets shut down and I can't make it work offline on a separate machine. I am starting to wonder if it is going to require a second dserver build with a different email address associated to it? Just like it is required to have separate emails associated to full build accounts it will require separate emails to have multiple dserver builds active at the same time going forward? 

 

Wheels

Share this post


Link to post
Share on other sites
Posted (edited)
29 minutes ago, wheelsup_cavu said:

I haven't had any success with this Mike. So far I have tried running two instances of the server on the same machine with different ports and when I start one the other gets shut down and I can't make it work offline on a separate machine. I am starting to wonder if it is going to require a second dserver build with a different email address associated to it? Just like it is required to have separate emails associated to full build accounts it will require separate emails to have multiple dserver builds active at the same time going forward? 

 

Wheels

 

Yes, you do need a separate email account for each DServer. You can run the DServer that comes with your paid Il-2 account, but you can't run Il-2 at the same time (unless you configure the DServer with the email address associated with a free stand-alone DServer that you have).

Edited by JimTM

Share this post


Link to post
Share on other sites

Indeed you need one account per Server.

I should say that I do have two separate Server accounts, one is for our public DServer, one is for this testing purpose.

Which btw. still doesn't work, despite meeting each and every requirement.

 

:drinks:

Mike

Share this post


Link to post
Share on other sites

Just for the sake of completeness, could you verify that the email you're using to start dserver, is different to that you use to start the game itself?

 

While running just your local server bur not the game, is there a way you could ask another player to check the master server listing for you?

Share this post


Link to post
Share on other sites

The email is different and I'm using two different PCs, connected to two completely independent networks (including different public IP) for testing.

Doesn't work.

 

:drinks:

Mike

Share this post


Link to post
Share on other sites

Another stab in the dark (had a problem like this with a DCS server): have you tried disabling IPv6?

Share this post


Link to post
Share on other sites

Well the public IP I have is IPv4 only.

I'm not gonna switch off Windows' "internal" IPv6 support as this has been no issue before, and is no issue on the public server we're running either.

Not worth ruining a couple of Windows PC installations IMHO, just to get the obvious result confirmed.

 

:drinks:

Mike

Share this post


Link to post
Share on other sites
Posted (edited)

Still no luck, despite all the things I've tried.

Can't get any DServer to show up on the master list as soon as it's behind a NAT.

Ports have been changed, Port forwarding has been set, Firewall rules set, Firewall even completely disabled, external IP set or not, manually entering the IP address, loading the SDS file from the same folder like DServer.exe or not, running mods on or off - nothing helps.

The Server will only ever show up if it's running on a PC which is connected "directly" to the internet, i.e. where the "internal" IP address is the same like the "external" one.

 

It seems to me like the master server is using the same IP address like the one the DServer.exe is listening to.

That of course cannot work, because it's an internal IP which is only valid inside the local network behind the NAT.

On the other hand, there's no way to configure the "external" IP on my end.

I would have hoped that the Master Server was clever enough to just use the IP he got connected from (which would automatically be the "external" IP), but apparently it doesn't.

 

It's a pity.

The DServer clearly tells that it's successfully registered at the Master Server, log shows no errors, yet it's not visible on the list of available Servers at all.

 

Worked in the past, but it's broken now for many months already.

 

:drinks:

Mike

Edited by SAS_Storebror

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

×
×
  • Create New...