Novahq.net Forum

Novahq.net Forum (https://novahq.net/forum/index.php)
-   General Chat (https://novahq.net/forum/forumdisplay.php?f=2)
-   -   New here + question about NovaLogic's networking (https://novahq.net/forum/showthread.php?t=48100)

Kattoor 03-27-2017 02:52 PM

New here + question about NovaLogic's networking
 
Hello guys!

After not having played Black Hawk Down for so many years, I picked it up again on the GOG sales earlier this week :)

I was wondering whether there was any documentation about the way NovaLogic implemented their networking / network encryption in it's games? More specifically Black Hawk Down as I want to try and implement a custom server myself.

Thanks and see all of you ingame
Kattoor

Scott 03-29-2017 08:21 PM

I don't think they've ever released their encryption? I am wondering what you mean by "Custom Server"? Can you elaborate on that a little?

Kattoor 03-30-2017 05:38 AM

Quote:

Originally Posted by Scott (Post 386466)
I am wondering what you mean by "Custom Server"? Can you elaborate on that a little?

If I understood the communication happening between the clients and server, I would be able to actually program my own server with custom logic.
The amount of custom logic would depend on what actually happens server-sided vs client-sided in the game.

However, this is probably an unattainable goal for me as even if I knew more about the encrypted communication, I would have to Google tons about 3d-mathematics.

I'm now working on an application that colors the kill-log (top-right of your screen in BHD) using the different teamcolors. This to see more easily who shot who :)

Scott 03-30-2017 07:48 AM

Quote:

Originally Posted by Kattoor (Post 386470)
I'm now working on an application that colors the kill-log (top-right of your screen in BHD) using the different teamcolors. This to see more easily who shot who :)

That's a good idea, keep us posted :)

Kattoor 03-30-2017 02:21 PM

Quote:

Originally Posted by Scott (Post 386471)
That's a good idea, keep us posted :)

Progress over the past two days:
https://www.youtube.com/watch?v=9G2W8DVxkF8

Scott 03-30-2017 03:07 PM

Nice work. I always wanted to do something like this in DF1 and DF2 because I never know when I've killed someone, all the messages look the same.

Are you just changing a couple bytes at the end of the message string to the color the player is on?

Looks like you have a good start :)

--BulletMagnet-- 03-30-2017 06:18 PM

That's a really cool idea, Kattoor.

Great to see others still programming for these games.

--BulletMagnet-- 03-30-2017 06:22 PM

Quote:

Originally Posted by Scott (Post 386477)
Nice work. I always wanted to do something like this in DF1 and DF2 because I never know when I've killed someone, all the messages look the same.

Yeah, that would be cool. New project idea?

Kattoor 03-31-2017 03:35 AM

Quote:

Originally Posted by Scott (Post 386477)
Are you just changing a couple bytes at the end of the message string to the color the player is on?

Indeed!
I start of with collecting the player names and their corresponding team color.
The last three kill-messages are read every interval.
Of these messages, I isolate the killer and then it's just a matter of changing some bytes at the end of the messages.

Took me some time to get things right as I'm not really used to programming this low-level :p

Guest001 04-04-2017 01:53 AM

Quote:

Originally Posted by Kattoor (Post 386470)
If I understood the communication happening between the clients and server, I would be able to actually program my own server with custom logic.
The amount of custom logic would depend on what actually happens server-sided vs client-sided in the game.

However, this is probably an unattainable goal for me as even if I knew more about the encrypted communication, I would have to Google tons about 3d-mathematics.

I'm now working on an application that colors the kill-log (top-right of your screen in BHD) using the different teamcolors. This to see more easily who shot who :)

You can gain extra of control over the server by creating server.wac and placing it in the root folder.

Team instructions already exist as created by NL but they can be tweaked and more can be added, this may assist you in what you're trying achieve here.

Guest001 04-04-2017 02:14 AM

Here's a slightly modified team script and I think you can see that you can probably manipulate the script to show individual stats linked to colours as well.

ploop
if onptick 10 then
ptext "<cf8932>Server message here<-co>"
end

if piskills(1) and never then
if pisteam(1) then
text "First Kill - <cfc0000FF>Blue Team<-co>"
else
text "First Kill - <cfcFF0000>Red Team<-co>"
end
ptext "Congrats on the first kill of the game!'
psetvar(2)
end

if piskills(1) and not pisvar(2) then
psetvar(2)
ptext "Congrats on your first kill!"
if pisteam(1) then
ptext "Take the <cfc0000FF>Blue Team<-co> to Victory!"
else
ptext "Take the <cfcFF0000>Red Team<-co> to victory!"
end
end
end


All times are GMT -5. The time now is 05:56 AM.

Powered by vBulletin®