Dedicated IPXNET server (C# .NET/.NET Core)

For Multiplayer: Help and meet other players.

Dedicated IPXNET server (C# .NET/.NET Core)

Postby Myg » 2018-3-15 @ 22:16

I put together this IPXNET server from scratch recently. It is designed to be as fast and as thread safe as possible.

The first download is using the .Net Core framework (https://dotnet.github.io/) from Microsoft and is multi-platform.
The second download is referenced from the old .Net framework 2.0.

If you have any suggestions/design comments please don't hesitate.

Both were built using Visual Studio 2019 Community edition.

1. .Net Core: https://www.dropbox.com/s/c0nmjtekadbou ... r.zip?dl=0
2. .Net Framework 2.0: https://www.dropbox.com/s/hqsz52z9kasrp ... F.zip?dl=0
Last edited by Myg on 2019-7-26 @ 14:20, edited 22 times in total.
Myg
Newbie
 
Posts: 30
Joined: 2005-4-29 @ 17:31

Re: Dedicated IPXNET Server (.NET Core 2.0 version)

Postby Yesterplay80 » 2018-3-20 @ 08:13

Could you provide a compiled exe, please? I'd like to try it out but don't want to install the whole VS2017 suite just for it.
My full-featured DOSBox SVN builds (without debugger) for Windows: Vanilla DOSBox and DOSBox ECE (Enhanced Community Edition)
User avatar
Yesterplay80
Member
 
Posts: 414
Joined: 2016-2-23 @ 11:02
Location: Germany

Re: Dedicated IPXNET Server (.NET Core 2.0 version)

Postby Myg » 2018-3-20 @ 12:19

Yesterplay80 wrote:Could you provide a compiled exe, please? I'd like to try it out but don't want to install the whole VS2017 suite just for it.

Compiled exe: https://www.dropbox.com/s/1gn8nayl0ropk ... F.exe?dl=0

Normally loading/double clicking it with Windows UI, without arguments, will start the server with the default values:
- UDP port: 213.
- timeout: 360 seconds.
- pingtime: 60000 milliseconds.


Arguments: [port] [timeout] [pingtime]
[port] = port that the server will use.
[timeout] = The number of seconds a client will persist on the server before it is removed.
[pingtime] = The number of milliseconds between ping checks: A proper responce will reset a client [timeout]
.

The arguements are all optional.

Examples/use cases:
- "DOSBoxIPXServerNF 5000" to run the server on UDP port 5000 with default timeout and pingtime.
- "DOSBoxIPXServerNF 5000 600" to run the server on UDP port 5000 with a 600 second user timeout with default pingtime.
- "DOSBoxIPXServerNF 5000 600 6000" to run the server on UDP port 5000 with 600 seconds user timeout with a ping/connection/keepalive test (resets the user timeout if successful) every 6000 milliseconds.
Last edited by Myg on 2019-7-29 @ 00:03, edited 48 times in total.
Myg
Newbie
 
Posts: 30
Joined: 2005-4-29 @ 17:31

Re: Dedicated IPXNET Server (.NET Core 2.0)

Postby Myg » 2018-4-10 @ 12:41

I found a bug in dosbox that sends a packet type of 245 instead of the expected 32 (socket 213 + packetype 32 = 245): This has been causing problems and the inability to connect for some people who arn't on windows 10. I have implemented a work-around and the server and its windows binaries should be operating well now (updated all the links).

My greatest apologies for not noticing this earlier.
Last edited by Myg on 2018-12-24 @ 22:32, edited 1 time in total.
Myg
Newbie
 
Posts: 30
Joined: 2005-4-29 @ 17:31

Re: Dedicated IPXNET Server (.NET Core 2.0)

Postby Vulturius » 2018-5-19 @ 14:13

I've tested it out on my machine:

- running "DOSBoxIPXServerNF 10450 360 60000"
- running DOSBox Instance1 with "ipxnet connect 192.168.1.109 10450"
- running DOSBox Instance2 with "ipxnet connect 192.168.1.109 10450"
- Started up an IPX network game of Warcraft

Everything works great! Nice job!

Future tests I'd like to conduct is to run a server (DOSBoxIPXServerNF 10450 360 60000) and let others join over the internet?
I suspect I only need to open up port 10450 TCP/UDP on my network device?

Other question I have is, how difficult is it to be able to play games in DOXBOX and DOS over network IPX?
User avatar
Vulturius
Newbie
 
Posts: 8
Joined: 2013-11-18 @ 06:29
Location: Belgium

Re: Dedicated IPXNET Server (.NET Core 2.0)

Postby Myg » 2018-5-19 @ 20:00

Yep, you only need one UDP port open to the internet for it to work.

I dont know about using DOS and dosbox together.
Myg
Newbie
 
Posts: 30
Joined: 2005-4-29 @ 17:31

Re: Dedicated IPXNET Server (.NET Core 2.0)

Postby DosFreak » 2018-5-19 @ 21:39

DOSBox doesn't support talking to a real IPX network, you'll need find the patch and compile dosbox for that.
User avatar
DosFreak
l33t++
 
Posts: 10254
Joined: 2002-6-30 @ 16:35
Location: Your Head

Re: Dedicated IPXNET Server (C# .NET/.NET Core)

Postby Myg » 2019-4-17 @ 16:54

If you look at my design, you will see there is no need to restart or reset the server because it uses the internal ping system to check if clients are still connected. I would suggest this functionality be built into the actual DOSBox exe for the IPXNET server itself instead of using a hard coded and limited client list. Peace out.
Myg
Newbie
 
Posts: 30
Joined: 2005-4-29 @ 17:31


Return to DOSBox Multiplayer

Who is online

Users browsing this forum: No registered users and 1 guest