Welcome, Guest. Please login or register.
Did you miss your activation email?
April 08, 2020, 09:45:24 pm

Login with username, password and session length
Search:     Advanced search
Savage: XR is a new patch for Savage, created by the Newerth.com staff. The XR1.1 Client is out now! Download it now!
189971 Posts in 10997 Topics by 18479 Members
Latest Member: ImCaprocorn
* Home Forum Wiki Help Search Login Register
  Show Posts
Pages: [1] 2 3 ... 94
1  Savage XR / General Savage XR Discussion / Re: Nerf humans on: March 19, 2020, 06:28:18 pm
K/D stats are not the main objective of the game. The objective is to destroy the enemies stronghold/lair. That should be pretty balanced giving both humans and beast a chance to win a game.
2  Savage XR / General Savage XR Discussion / Re: Nerf humans on: March 19, 2020, 03:30:19 pm
If humans would be that overpowered that they need dozens of nerfs, then why do stats not show that they win most of the time?
3  Savage XR / Support Forum / Re: Server Monitor on: March 07, 2020, 09:52:45 pm
Another way would be to reverse engineer how the the master server communicates with your server. The master server has been written by valli and is open source on GitHub: https://github.com/valliman/savage-xr-master-server
Wrong protocol. That's implementing the master server, which receives heartbeats from savage servers and generates a .dat file for savage clients (and webbased serverlists) to download and use to contact serverlists.
It don't do Savage server firewall tests or request queries like the original master server list, so it will not contain the implementations of the needed protocol.

Or you look into how the Savage Remote Controller Pro has been implemented which can also be found on GitHub: https://github.com/valliman/Savage-Server-Remote
The uses a TCP remote admin protocol. Technically you can do some of the webbased serverlist with that, but it will be way more difficult to do.

So now how is it actually done:

Let's start with master server to Savage client:
Step one: Download and read serverlist from the master server (optional in case you hard-code your server IP and port into your script)
Download http://masterserver.newerth.com/gamelist_full.dat
This file contains a list of IP addresses and ports of all savage servers. The first 5 characters should be in hexadecimal values: 0x7E, 0x41, 0x03, 0x00, 0x00. This is just a header!
Each group of 6 characters after that is an IP and port of a Savage server. The first four characters are binary representation of an IPv4 address. The port is formed by taking the decimal value of character #5 plus the decimal value of character #6 multiplied by 256. In code: ( decimal value of character #5 + (decimal value of character #6 * 256) )

That should give you the list of all savage servers in the master serverlist!

Savage client to Savage server:
Step two: Query Savage server
Now that you have the IPs and ports, you must contact each savage server.
Using UDP: sent the hexadecimal characters: 0x9E, 0x4C, 0x23, 0x00, 0x00, 0xFF, 0xFF, 0xCE, 0xF2, 0x3B, 0x18, 0x80 to the server and if you did the well, the savage server will return you its current status. Given the nature of UDP, you might want to retry sending once or twice the packet if no response is received within a reasonable timeout. (999ms should be plenty, extra credits if you maintain statistics of response times to lower this time-out and speed up processing)

Step three: Process Savage server response
The response you receive can be split with the hexadecimal character 0xFF. This splits the response into different keyvalue pair. The key and values can be split using the hexadecimal character 0xFE.

Step four: Process the "player"-field.
Each playername is indeed on a different line. But not all lines are player names. For example:
Code:
^900Team 1 (human)
and
Code:
^900Team 2 (beast)
and
Code:
^900Spectators
are lines in the player field, but not actual players.

In the webbased serverlist I used 2 regex (Please note, these are PCRE, not javascript regex. You might have to adjust them):
Code:
/^(\^900Team|Team) (\d) \((.+)\)(:|)/
Code:
/^(\^900|)Spectators(:|)/

These 2 will detect those lines. If the line is followed by the lines:
"--empty--", "---empty---" or " --empty--" that team is empty.
If it is neither all of those special situations, then it is a player name.

Step five: Further process player names.
Of course those players belong to the previously found team and race.

In the player name you can still do some further processing:
Detect referee tag "^y[R]^w".
Detect officer tag "^b[O]^w".
Detect AO officer tag "^050[AO]^w"
Detect commander tag "^g[C]^w"
And if you want legacy support: Detect the old commander tag "(Commander)" at the end of the player name, but ONLY on servers which do not sent the "ver" value or the "ver" value starts with "EX2" (and ofcourse only if none of the above tags are present in any names)

Lastly you can detect using regex /\^clan (\d+)\^/ to fetch clan id of the player and get the clan icon for them using that.

There you go! All you need... You just need to do some programming.
4  Savage XR / General Savage XR Discussion / Re: INFO: How melee works. on: December 20, 2019, 12:48:29 pm
Fine, you don't have to twist our arms!
Fixed.
After twisting Daemon's arm for another day, I even fixed the image at the end of the post.
So I guess all images I could fix are finally fixed.
5  Savage XR / General Savage XR Discussion / Re: INFO: How melee works. on: December 19, 2019, 09:45:05 am
Has the request to fix the images in the first post on melee here been asked to death? They are broken to me.
I has fixed some! The other images will follow.
6  Announcements / Main Page News / Re: No troll patch for you! on: April 26, 2019, 10:24:02 am
This wasn't even funny when so many bugs in the game remain - prioritise your time better maybe?
I believe there's very little code needed for these kind of changes. I believe most of this was models, textures and some gamescripts.
There was indeed no bins patch.

Also, "This game is free and has had so much work and time put into it for absolutely nothing in return, but I'm a spoiled brat that feels entitled to have everyone else slave away for my personal entertainment in their spare time because I somehow am of the delusional opinion that I deserve absolutely everything in the world at my beck and call just because of my amazing achievement of having been born because my mother spread her legs for whoever my dad might be." - we will get right on the next patch, sir MegaBD, sorry for the delay!

Get mad all you want and offend my family all you want, nobody wanted it and they were glad when it was gone. Like a broken record the scream of "free game this" "volunteer that" when something is unpopular, it's unpopular - learn to take criticism.
No changed binary-files means that no actual coders did anything to allow this april-fools to happen. There's no dev time wasted on this. Only some models were created by a 2D Artist/3D Artist, but that same person wouldn't have been able to fix bugs.

Let's be honest: this game is way past its shelf life. The last many years it is kept alive by volunteers, which are just keeping it alive. I doubt you will ever get the bug fixes you are looking for, because there is barely any coding done nowadays. Possibly partly because of the community's toxic altitudes towards any and all changes and most work done by the developers.

Your altitude is not likely to motivate Hakugei to fix things, especially when those bugs are often poorly documented or documented without proper way to reproduce them.
7  Announcements / Main Page News / Re: No troll patch for you! on: April 24, 2019, 01:52:08 pm
This wasn't even funny when so many bugs in the game remain - prioritise your time better maybe?
I believe there's very little code needed for these kind of changes. I believe most of this was models, textures and some gamescripts.
8  Off Topic / Chat / Re: About Sun Forums on: January 31, 2019, 10:05:22 am
Lul last post on Sun forums is from Tue Sep 19, 2017 7:49 pm Tongue
Still better than the "Sun Nov 20, 2016 6:34 am" last post of Warrior's forum.

It's still botfree, which is actually most impressive!
9  Savage XR / Support Forum / Re: Connection Issues After Few Minutes of Gameplay on: January 07, 2019, 04:11:51 pm
I personally don't know how to interpret those "Request timed out" responses you're getting and i have no experience with oversees ISP's Smiley. I don't think they should be there, though.
Not all router will respond to ICMP requests. My ISP has that for the internal routers. It doesn't have to be anything worrying.

The ISP on drk's side has 9 hidden hops.
10  Savage XR / Support Forum / Re: Fix the forum. on: November 16, 2018, 08:02:42 am
There has to be a way to ban certain words? all we need to do is ban this shitty  website.
SMF can censor words much like Savage's chatfilter... It will change the word, but not deny the chat/post. So in that case I also would need to plugin for SMF1.1 for that.
11  Savage XR / Support Forum / Re: Fix the forum. on: November 14, 2018, 09:59:09 am
Maybe you've noticed that Django and I mostly keep things 'working'.

Being honest: much of the website requires a major rework to make it continue to work in the further future. Daily there are like 30 players in Savage, so I do not really see why I would invest probably weeks of work into fixing basically the entire site, while Savage might not have to long to live any more.

And now you might wonder why to entire site needs a rework... Well, SMF1.1.* is end of life, so if we actually want to add ReCaptcha v3, we either have to develop a new plugin ourselves or upgrade to SMF2.*.
ReCaptcha Plugins are not supporting SMF1.1.* anymore.

But upgrading to SMF2 probably also means we have to rewrite the website to SMF2, so overall it will require more work than I believe I want to put into the community.

If you happen to know (or developed) a SMF1.1 ReCaptcha v3 SMF plugin, let me know. I wouldn't mind installing that!
12  Savage XR / General Savage XR Discussion / Re: Linux Snap of Savage XR on: September 26, 2018, 10:13:56 am
Edit works. The plugin still broke search
13  Savage XR / General Savage XR Discussion / Re: Linux Snap of Savage XR on: September 26, 2018, 09:26:39 am
Quote
8192: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead
File: /home/newerth/public_html/smf/Sources/Subs-Post.php
Line: 317

Nope, nobody can edit posts. There's more PHP+SMF bugs to fight.
14  Savage XR / General Savage XR Discussion / Re: Unofficial "Savage XR - Battle for Newerth" Linux Flatpak on: August 11, 2018, 07:23:57 am
Very useful information Groentjuh, thanks.

I didn't know there is a config switch for the AutoUpdater, renaming the silverback.bin felt very dirty so I'd be pleased to remove that bit.

Does the AutoUpdater every update the silverback.bin file???
Yes, because you move it, the AU will see it as a file it is missing!
15  Savage XR / General Savage XR Discussion / Re: Unofficial "Savage XR - Battle for Newerth" Linux Flatpak on: August 10, 2018, 01:06:40 pm
Nice that you've made something that makes running Savage XR easier on linux.

Quote
# moveBinOutOfWay() Move Savage XR binary out of the way prior to Autoupdater,
# to stop Savage XR starting automatically after update.
This is simple, but can't you edit AU.cfg to have the line 'startApplication "0"' instead of 'startApplication "1"' and change that back afterwards? (Or not change it back so your bootstrap stays in control)

Technically it is also possible to change the applicationFileName to some script that fixes any libs that the AU possibly breaks Wink and starts savage afterwards. That would also simplify your script.
Pages: [1] 2 3 ... 94
Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2007, Simple Machines Valid XHTML 1.0! Valid CSS!
Page created in 0.027 seconds with 18 queries.