Battlezone Universe

Battlezone Universe => Battlezone 1 => Topic started by: eddywright on November 22, 2009, 09:33:23 AM

Title: BZ1 and Anet
Post by: eddywright on November 22, 2009, 09:33:23 AM
While we're discussing updates to BZ1, I'd like to bring up the problem with Anet and the lack of a identity system.  Since there's no true game indentity, there is no consequences for bad behavior at the player level. All modern games create unique identities, eliminating the ability for someone to "pose" as another and to simply change names.

There's been discussion on and off about a bolt-on security system at the server level but this is far from perfect. The real solution is a different lobby shell but from what I have gathered, anet is deeply entrenched in the code and would be difficult to rework.  What about the Heat interface? Does that gives us another way to create a lobby outside of anet without major code rewrites?  I have the SDK development kit but it's hard to understand how it works with BZ.

If a shell could be created using the same methods Heat used (emulate the Heat server from BZ's point of view), could a lobby shell be created supporting unique identities?

Eddy
Title: Re: BZ1 and Anet
Post by: General BlackDragon on November 22, 2009, 01:28:08 PM
Perhaps the game could write down when someone joins, they make a username/pass to "login" to the server with, and then the server remembers that username and ties it to the pw.

i.e., when you create your name, nobody else can use it without knowing your password.
Title: Re: BZ1 and Anet
Post by: Avatar on November 22, 2009, 03:51:46 PM
That assumes one server...

-Av-
Title: Re: BZ1 and Anet
Post by: eddywright on November 22, 2009, 04:20:01 PM
It could be on a per server basis, that's better than nothing :)

This will be a challenge I'm sure...

Eddy
Title: Re: BZ1 and Anet
Post by: Firestorm29 on November 22, 2009, 04:55:12 PM
It's definitely possible. From what I can tell from how M-player, HEAT.net and Gamespy works, it's lobby was separate. The game would be started after launch was pressed with the server info already being provided, so it bypasses the lobby.

I could see this working like this: A separate lobby system is programmed with listing games. Once you enter a game you want to play and the host hits launch, a script would run like this. The first is the host which starts the game then goes to the the multiplayer and into the IP address and set-up the room. The the script sends the host info to the other players which inserts the info and takes you into the pre-game lobby.

Thats how I figure it works. The games I played through those services including Metal Fatigue, Mechcommander, and Battlezone 1 seem to follow this same pattern. The game starts up after the button is pressed, and their scripts provide the information for the game to to straight to their pre-game lobbies where you select whatever you'll play with or use.

Hope that helps.
Title: Re: BZ1 and Anet
Post by: Nielk1 on November 22, 2009, 04:56:39 PM
Anet is an all in one game list lobby system that is extremely dated. For your information.
Look up Activenet for more.
Title: Re: BZ1 and Anet
Post by: Dx on November 23, 2009, 07:13:08 AM
http://www.jenkinssoftware.com/

Looks like we would need these:

Lobby system (http://www.jenkinssoftware.com/raknet/manual/lobby.html)

Replica Manager 3 (http://www.jenkinssoftware.com/raknet/manual/replicamanager3.html)

NAT Punchthrough (http://www.jenkinssoftware.com/raknet/manual/natpunchthrough.html)
Title: Re: BZ1 and Anet
Post by: Ultraken on November 23, 2009, 09:13:36 AM
Raknet looks promising.  I had run across it before, was curious about it for my own game project.

BZ2 uses GameSpy, which has the huge advantage of not needing game-specific servers.
Title: Re: BZ1 and Anet
Post by: Avatar on November 23, 2009, 05:54:11 PM
And the major disadvantage of requiring Gamespy support for it's existence, since you CAN set up your own Anet server but not your own Gamespy server.

Or has someone found a way around this?   :)

-Av-
Title: Re: BZ1 and Anet
Post by: Nielk1 on November 23, 2009, 06:59:18 PM
Quote from: Avatar on November 23, 2009, 05:54:11 PM
And the major disadvantage of requiring Gamespy support for it's existence, since you CAN set up your own Anet server but not your own Gamespy server.

Or has someone found a way around this?   :)

-Av-

Someone on BZ2Maps claims to have old protocol software.
Title: Re: BZ1 and Anet
Post by: Dx on November 24, 2009, 10:18:50 AM
Quote from: Avatar on November 23, 2009, 05:54:11 PM
And the major disadvantage of requiring Gamespy support for it's existence, since you CAN set up your own Anet server but not your own Gamespy server.

Or has someone found a way around this?   :)

-Av-

While paying 30 a month for a anet server may seem like a good option, i only see it being used to control and manipulate the players, not to mention split the players and driving most to quit the game.

Maybe everyone not having their own Gamespy server is a blessing.
Title: Re: BZ1 and Anet
Post by: Ultraken on November 24, 2009, 02:18:12 PM
That's a good point.  Gamespy servers would act as a neutral third party.
Title: Re: BZ1 and Anet
Post by: Avatar on November 29, 2009, 12:10:06 PM
As long as Gamespy never gives up on the old girl (BZ1 OR 2) it's a great setup, having a powerful, neutral server for everyone.  Still, if someone's going to go to the trouble of coding in Gamespy support (or something like it) as a replacement for ANET it would be good to have a backup...  or at least keep such a thing in mind for the future.

I mean really, it's a great idea and Ken is up for sainthood for even thinking of fixing BZ1 to work in a more modern setting but given the size of the community would Gamespy even want to add support for BZ1?

-Av-
Title: Re: BZ1 and Anet
Post by: Dx on November 29, 2009, 01:29:32 PM
If bz1 was on gamespy someone would lose their little Empire and banhammer. I can't see him accepting that.
Title: Re: BZ1 and Anet
Post by: Nielk1 on November 29, 2009, 01:33:16 PM
Might I suggest built in banning. For the game itself.
Title: Re: BZ1 and Anet
Post by: eddywright on November 29, 2009, 01:42:40 PM
Gamespy supports a handful of games, I can't see them adding support for BZ.

One of the big advantages of Gamespy or any modern game server is tying it back to a real identity like your Gamespy ID. So when someone breaks the rules (http://www.gamespyservers.com/rules/), there are real consequences for behaving badly.

I believe the same model could be used with Raknet and could support BZ, BZ2 and other games but its a daunting task...

Eddy
Title: Re: BZ1 and Anet
Post by: Dx on November 29, 2009, 01:49:05 PM
Spock and Harrison both do many things not allowed on the gamespy rules.

Raknet was suppost to be easy to setup and use on games.
Title: Re: BZ1 and Anet
Post by: eddywright on November 29, 2009, 01:53:37 PM
Has anyone successfully compiled Raknet? Might be interesting to build the empty shell and lobby system just for giggles.
Title: Re: BZ1 and Anet
Post by: Ultraken on November 30, 2009, 12:55:40 AM
Regardless of the merits or flaws of Gamespy, it'd be a lot of work since I've never worked with a networking SDK like that before.  I also don't know if BZ1 would qualify for an Indie license since it was a commercially-released game at one point.  It's interesting speculation but it'd be a long shot at best.  (RakNet would have similar issues there as well.)
Title: Re: BZ1 and Anet
Post by: eddywright on November 30, 2009, 05:51:43 PM
Quote from: Ultraken on November 30, 2009, 12:55:40 AM
Regardless of the merits or flaws of Gamespy, it'd be a lot of work since I've never worked with a networking SDK like that before.  I also don't know if BZ1 would qualify for an Indie license since it was a commercially-released game at one point.  It's interesting speculation but it'd be a long shot at best.  (RakNet would have similar issues there as well.)

Which brings us back full circle, BZ1 did work with Heat Network. There's some sort of interface built into BZ1 to talk to an external lobby, I haven't been able to reverse engineer it so far. It seems to be buried in the anet.dll code (I think that was the one, dx?).  If we can simulate Heat Network, the BZ exe's won't need rewriting.

Eddy
Title: Re: BZ1 and Anet
Post by: Avatar on November 30, 2009, 07:03:39 PM
This is interesting...

Heat.net was an online PC gaming system produced by SegaSoft, Sega's PC game division. Heat.net hosted both Sega-published first- and second-party games, as well as popular third-party games of the era, such as Quake II or Baldur's Gate. Heat.net was based on a licensed version of the MPlayer Internet multiplayer gaming system, which itself later became GameSpy.

So, Heat.net is sortof Gamespy's Grampa???

:lol:

-Av-
Title: Re: BZ1 and Anet
Post by: Red Devil on November 30, 2009, 07:32:38 PM
How about using Hamachi?  Would that help or not?
Title: Re: BZ1 and Anet
Post by: eddywright on November 30, 2009, 09:45:19 PM
Hmmm, I hadn't given Hamachi much thought. That could be used to make private servers, or depending on the web interface for Hamachi, you could create login IDs to get onto the VPN, which would give you access to the server.

I'll have to look into this a little more.

Eddy
Title: Re: BZ1 and Anet
Post by: Ultraken on November 30, 2009, 11:59:23 PM
I'll plead ignorance to all this...   :-D
Title: Re: BZ1 and Anet
Post by: technoid on December 01, 2009, 01:59:04 AM
What network protocol(s) does BZ1 use over the Internet again?  Is it IPX/SPX or also TCP/IP?   Someone elaborate the whole shmeal. 
Title: Re: BZ1 and Anet
Post by: Ultraken on December 01, 2009, 11:20:29 AM
I'm pretty sure it's TCP/IP.  The Activenet part is for browsing active games, whether waiting or started.
Title: Re: BZ1 and Anet
Post by: Dx on December 01, 2009, 12:57:41 PM
TCP gets you the servers but the rest seems to be udp.
The lan is IPX and TCP/UDP for wudplan.dll.
Title: Re: BZ1 and Anet
Post by: Firestorm29 on December 02, 2009, 03:39:08 PM
Quote from: eddywright on November 30, 2009, 09:45:19 PM
Hmmm, I hadn't given Hamachi much thought. That could be used to make private servers, or depending on the web interface for Hamachi, you could create login IDs to get onto the VPN, which would give you access to the server.

I'll have to look into this a little more.

Eddy
I've put some consideration into this as well. I'm not exactly sure but I think the log ins work that you send get an IP from the Hamachi servers and the password is the access the net. I'm not sure if you really can implement a true user/password system. I could tinker around with it since I know people that have had experience with it to play touhou games through the net (originally not built to do so.).

The other problem here is you have to access the server by setting it up in the LAN playsetting and I think use the server hamachi IP to get into the net.