VOGONS


Dedicated IPXNET server.

Topic actions

First post, by MasterM

User metadata
Rank Newbie
Rank
Newbie

Hello everybody!

As I'm new here, first I want to thank all DosBox developers. You're doing a great job!

Now to the point. Well dosbox's IPX tunneling via ipxnet works great but it requires one machine to act as a server. Many people are behind NAT and don't know how or are unable to open appropriate ports. There's also dynamic IP issue. Passing your IP address to all your friends may be pain in the ass. 😉

So I thought why not setup a dedicated IPXNET server. As dosbox cannot run in "daemon mode" without graphics, I took ipxserver code from svn repository, modified it a bit and wrapped into a small, shiny Linux console application. And it works great! 😀

So if you have any kind of problem running ipxnet server, just connect to masterm.org via ipxnet connect command. Keep in mind that it's a public system so anyone can join your game.

EDIT: Source code available here: [url]svn://masterm.org/ipxnet[/url] (requires libsdl-net1.2-dev or equivalent package).

You can see it in action here!

Last edited by MasterM on 2010-01-01, 15:31. Edited 1 time in total.

Reply 1 of 36, by HunterZ

User metadata
Rank l33t++
Rank
l33t++

Stickied!

Reply 2 of 36, by rcblanke

User metadata
Rank Oldbie
Rank
Oldbie

Good idea, thanks for the effort MasterM, and keep it up!

Reply 5 of 36, by Replica_UK

User metadata
Rank Newbie
Rank
Newbie

Very good work.
This really looks interesting and could have many advantages.

People that play won't have to open port as they connect to the server.
Maybe could support a large audience of players playing all sorts of games?

Keep up the good work!

Reply 6 of 36, by Myg

User metadata
Rank Newbie
Rank
Newbie

MasterM, please respond to my PM. Thank you.

Reply 7 of 36, by temptingthelure

User metadata
Rank Member
Rank
Member

Seems to be down at the moment.

Rise of the Triad modding site!
http://rott.s4.bizhat.com

Reply 8 of 36, by Replica_UK

User metadata
Rank Newbie
Rank
Newbie

It is very nice. I now have mine running on Linux Debian.

You can also connect to mine on 94.23.62.99

ipxnet connect 94.23.62.99
ipxnet connect 94.23.62.99 10000

Last edited by Replica_UK on 2010-07-20, 16:14. Edited 1 time in total.

Reply 9 of 36, by Mike

User metadata
Rank Member
Rank
Member

An excellent idea you have there, I must admit
playing multiplayer via DosBox is pretty fun, and
the DosBox emulator has improved greatly
over the years, it is now even playable with games
that take up a lot of power like Shadow Warrior
Duke Nukem 3D, Ultimate Doom,
and many others that have came out in the
mid-90's.

Reply 10 of 36, by CodeJunkie

User metadata
Rank Newbie
Rank
Newbie

I just started a website project the other day which will be used to get people hooked up and connected either using dedicated tunneling servers or the old way where one person is the server. http://www.classicgamingarena.com. Right now it is just a testing site, but I will be making it nice and much more useful in the near future.

Any chance of getting a win32 port of this dedicated server? I have a dedicated server running just using DOSBox at the moment, but I ran into some snags with it. It runs great, but there appears to be a 16 connection limit and even though you disconnect your client, it never registers on the server so the server eventually will not accept any more connections...not good if you are trying to run a dedicated server.

Reply 11 of 36, by h-a-l-9000

User metadata
Rank DOSBox Author
Rank
DOSBox Author

My java server works on win32 and has no such limit.

1+1=10

Reply 12 of 36, by CodeJunkie

User metadata
Rank Newbie
Rank
Newbie
h-a-l-9000 wrote:

My java server works on win32 and has no such limit.

That's cool, I may try it, although I'm thinking about trying to put together a native windows service.

Reply 13 of 36, by DosFreak

User metadata
Rank l33t++
Rank
l33t++

There are services out there to display to the user their external IP.
You may want to warn the user to use the same version of DOSBox for server/client
You may want to warn the user to use the same version of the game for server/client.

How To Ask Questions The Smart Way
Make your games work offline

Reply 14 of 36, by CodeJunkie

User metadata
Rank Newbie
Rank
Newbie

I'm looking at the IPX server code tonight and I noticed that in ipxserver.cpp the closeSocket function is commented out. I bet this is why the clients are never disconnected from the server.

EDIT: Just to be clear I hadn't actually built the source or anything when I posted this, however I just got DB built so I'm going to look this.

Reply 15 of 36, by MasterM

User metadata
Rank Newbie
Rank
Newbie

OK guys I'm back. Been quite busy lately so didn't have time to reply.

@CodeJunkie: DosBox uses UDP for it's IPX tunneling. UDP is connectionless protocol so nothing need to be closed. It's a bit strange tho why dosbox on windows stops accepting new connections. Also, great idea with that website! It would be nice to have a community revolved around DOS multiplayer gaming on a bunch of dedicated ipx tunneling servers. 😀

@temptingthelure: I've been moving to a new server. It's up and running again. 😀

@DosFreak: I'm afraid this would require modifications to the dosbox itself. It currently doesn't support any kind of communication (like displaying warning messages 😉) through it's IPX tunneling facility.

@Myg: I've sent you a PM.

Also, source code of the IPXNET server is now available at [url]svn://masterm.org/ipxnet[/url]. Just checkout the head revision and type 'make' to build. You'll need libsdl-net1.2-dev or similar package.

Reply 17 of 36, by Replica_UK

User metadata
Rank Newbie
Rank
Newbie

Thanks MasterM I compiled it on Linux a few days ago works great.

http://yang-online.com

Reply 18 of 36, by jimdigriz

User metadata
Rank Newbie
Rank
Newbie
MasterM wrote:

So I thought why not setup a dedicated IPXNET server. As dosbox cannot run in "daemon mode" without graphics, I took ipxserver code from svn repository, modified it a bit and wrapped into a small, shiny Linux console application. And it works great! :)

Nice work, I too decided to also roll my own however it is written in Perl (so probably UNIX users only) as I felt the libsdl dependency was unnecessary; plus being perl helped adding lots of other handy features (run './ipxserver --man' for full details):

http://stuff.digriz.org.uk/ipxserver

From my reading of the code the current IPXNET servers have problems if you have two different users connecting from behind the same NATed gateway, my server handles this with no problems.

I have been testing it with Big Red Racing and had no problems, bug reports and feedback would be greatly appreciated.

Cheers

Reply 19 of 36, by CodeJunkie

User metadata
Rank Newbie
Rank
Newbie

Update

I got a Windows based dedicated server working and it is working great so far. I still have some stuff to cleanup, but I should have it ready here soon.

I did some research and discovered that the UDP protocol was connectionless. Since there is no way to detect that a client was disconnected from the server the server would eventually run out of connections because the connection pool was not being cleared. What I did t resolve this was made the server use a TCP server along side the UDP server that accepts an initial connection from the CGA client and when the client disconnects the server tells the IPXNET code to clear the UDP connection for that TCP connection based on the host name.

I have a new client up on http://www.classicgamingarena.com.