VOGONS


First post, by Myg

User metadata
Rank Newbie
Rank
Newbie

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

The downloads are using C# and .NET 6 (https://dotnet.microsoft.com/) from Microsoft .

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

The source was built using Visual Studio 2022 Community edition.

Source: https://krock.online/files/DOSBoxIPXServer.zip
Release: https://krock.online/files/DOSBoxIPXServerRelease.zip

To run the Windows version, run "DOSBoxIPXServer" or double click the exe.
To run the Linux + MacOS version, run "dotnet DOSBoxIPXServer.dll"

Arguments: [port (ushort)] [timeout (uint)] [pingtime (int)]
[port] = UDP 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 response will reset a client [timeout].

Normally loading it without arguments will start the server with the default values:
- UDP port: 213.
- timeout: 180 seconds.
- pingtime: 60000 milliseconds.

The arguments are all optional.

Examples/use cases:
- "DOSBoxIPXServer 5000" to run the server on UDP port 5000 with default timeout and pingtime.
- "DOSBoxIPXServer 5000 600" to run the server on UDP port 5000 with a 600 second user timeout with default pingtime.
- "DOSBoxIPXServer 5000 600 6000" to run the server on UDP port 5000 with 600 seconds user timeout with a ping/connection/keepalive test every 6000 milliseconds.

Last edited by Myg on 2021-11-09, 14:24. Edited 59 times in total.

Reply 1 of 16, by Yesterplay80

User metadata
Rank Oldbie
Rank
Oldbie

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 for Windows & Linux: Vanilla DOSBox and DOSBox ECE (Google Drive Mirror)

Reply 3 of 16, by Myg

User metadata
Rank Newbie
Rank
Newbie

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 should be operating well now (updated all the links).

My greatest apologies for not noticing this earlier.

Last edited by Myg on 2020-11-20, 20:58. Edited 5 times in total.

Reply 4 of 16, by Vulturius

User metadata
Rank Newbie
Rank
Newbie

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?

Reply 6 of 16, by DosFreak

User metadata
Rank l33t++
Rank
l33t++

DOSBox doesn't support talking to a real IPX network, you'll need find the patch and compile dosbox for that.

DOSBox Compilation Guides
DosBox Feature Request Thread
PC Game Compatibility List
How To Ask Questions The Smart Way
Running DRM games offline

Reply 7 of 16, by Myg

User metadata
Rank Newbie
Rank
Newbie

If you look at my design, you will see there is no need to restart or reset the server because it uses the internal IPX 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.

Reply 11 of 16, by Myg

User metadata
Rank Newbie
Rank
Newbie

It looks my host has messed up my hosting/domain and the server will complain with an error. If you get this error please wait till I have sorted this issue out with my host.

My apologies for any issues caused.