AdmiralTigerclaw
Sound Developer
Expert Member
   
Posts: 734
Naval Commander: Forum Sound Admin
|
 |
« on: October 11, 2008, 02:51:30 AM » |
|
What to do with it?
Iconicly, the Nexus serves two purposes in the SF engine: 1 - It's the hub that allows players to connect to each other for general internet play. 2 - It contains the stats and ranks of all online player ships in a centralized server.
Now, me... in the last year I played, I stopped using the nexus save to grab an IP to log into a server. I didn't like other's having the ability to handle and control my stats as they see fit, so I relied on a bit of a loophole in the login mechanics of a game to gain access to a server with one of my unregistered names. Mainly because of an afore mentioned issue with the game's money. You run out of cash, and you kind of grind to a halt while other players mulch you.
As such, I kept a version of Devil Sol on hand to quickly and easily make money, (Drop off a devil armor when you log in and you're rich as hell instantly) and used my offline name in quick grab N go... then I'd direct connect to log into a server and continue with good ol' fashoned dueling.
I of course, told nobody because Devil Sol was 'teh ebil!!!11!ONE' haxx server that gave you instant point swarms. (I also of course, could give less about points. Save for the fact that you need them to get ships.)
Now the question is... with an inevitable reworking of the gameplay coming with the task... what to do with the online stats and leaderboard?
Personally, I see a leaderboard as an excuse for people to be dicks to each other. Most online team gameplay in a pub environment centers on people going 'me me me!' when it comes to gaining points and rewards of points... leading to incoherent gameplay.
Generally, the Nexus registration leaderboard is simply a glorified top ten list of people most efficient at doing this... which is not a real measure of playing skill. I think it should be dropped.
I'm not sure of what should be done with the registration, but I personally would vote for leaving player and ship registration as a component on the player side.
The way I see it as such.
First, player registration is kept client side and stored in an encrypted file. It should store the player, ship name, and give them a random number generated serial number. The serial number could be something like an eight digit random number. Even if someone duplicates your name and ship type, the serial number can't be jacked with unless they're master hackers. (At that point, I don't see the point in them wasting their time.)
Next is the type of scoring used.
Perhaps instead of tracking points and active points, the score system tracks things like planets captured... and of course, a Kill to Death Ratio. X over Y.
Something along the lines of
Tigerclaw (Admiral) U.S.S. Galaxius **-4726-** Total Planets Dominated: X Most planets Captured In a Game: X Kill to Death Ratio X / Y Single Game Kill to Death Record 20 / 1
Then useless stats like Number of Times Logged On Games Won/Lost Total Time Online (Min,Hrs,D,W,M,Y... though I doubt you'd get online game time online up to M and Y unless you're TRULY hardcore.) We could determine ranking of each player based on games played, time online, and a mathematically calculated ratio that can earn a value in the calculation based on the performance.
And by using performance evaluation formulae instead of a point value increase system, you can assign rank by actual performance. And if the person hacks in and alters stats to pad their score... their performance quickly shows their true colors. (If you come in with a forty to one KD ratio and get smeared all over the server by half the 'average' players... it's going to be suspect immediately.)
Now, as for the four * on the registration number, the outter two numbers would be only viewable by the server admin of the game... thusly, a decieving cheat cannot create a fake ship and hacked ID number without a clandestine server he's lured the player into.
The stat management system is definately one point of friction that tore SF down.
|
GCFA Naval Commander Veteran Player - Supreme Spaceforce Agressor Owner: Samurai Penguin Studios Listen on Last.FM
|
|
|
|
NiteHawk
|
 |
« Reply #1 on: October 11, 2008, 05:50:06 AM » |
|
I have to mostly agree. I'd say either use the ranking system still, but make it more interesting.
The nexus however, alot of it IS very useless, the leaderboards are garbage. We just need it to store proper server data. Serial numbers are pretty smart to use, In the fact, 8 digits is pretty easy to hack, I'd use 12, with alphabets/words, at least. But I get where you are going here.
Basicly it allows them to never worry about a password and such, should this be for ALL of his SF, or dependent via his player account. For example Bob plays, and Mark plays, they will both have different serial numbers, but then it would more be player side accounts. The global way would simply grab a serial online, and then thats the end of that until you format, and you simply enter a existing serial id. We can however keep a IP log just in case they do lose it, we may be able to grab it, no garentees. This is also good for some extra security reasons as well.
I am wondering how much lag is endured CURRENTLY while continual updates to the nexus server. It depends really, you don't want to have a laggy server communicating rapidly with the nexus, that's the flaw of the game, and a big security loophole, since it COMMUNICATES to update kills, points, etc. If it the end it does create alot of the games lag, then we reduce it to every 1-5 minutes it will update using a special update variable that stores what 'needs' to be updated. For example, I kill 1 ship and I die 5 times, ATC kills 20 ships, GeneralZod takes over 5 planets, and dies 1 time, all in 5 minutes.. The update variable would be something like: "Nitehawk,k=1,d=5-ATC,k=20-GeneralZod,p=5,d=1" The thing here is it is sent in one variable, and not several. This would be a MAYBE, however, I rather would use it updating 'on the go' just for security reasons. But still, it would be a secure encrypted variable by the second non the less. Either way would work but sending 'on the go' would not need much storing of variables. Either or, hacking can be involved if not encrypted, for example, they could figure out memory hacking and edit the string (pretty tough though even alone without encrypting.) and the update on the go just sends a special update 'when you kill something', and just have it spam send that you killed so many times. Both need special work to prevent any hacking + a max per minute, just in case someone does manage to get through. There can also be daily logs etc of updated information from the servers, and mark anything that seems 'odd' in another log, etc.
Prevention of hacking is something I deal with on a general bases, there are several things that can be done to disallow a memory edtior from memory editing properly. As for nexus to player server, it's very tough to prevent, and will need alot of work. I won't bother going into specifics here for very generic reasons. I'll post it up in another forum for us sometime though.
Performance evaluation is simply perfect, and what new games use. I agree 100% here. It needs large scale changing. About the server trying to manipulate signals to the nexus, like more kills X 100000, we need to have this halt, block the ip from signally from the ip, and possibly halt the account, all automatically. Currently the game will only go ballistic and say your cheating if you create some super weapons, or bugged weapons, which is silly. Needs more error checking.
Good post though, I mostly think it needs a huge workover. I'll probably be doing a nexus from almost scratch, since the nexus is pretty simple coding, or at least, should be. All it does it store/send values, and security, don't need much more then that.
|
|
|
|
AdmiralTigerclaw
Sound Developer
Expert Member
   
Posts: 734
Naval Commander: Forum Sound Admin
|
 |
« Reply #2 on: October 11, 2008, 03:58:38 PM » |
|
See, what I'm trying to push is that we move away from a centralized stats management system in favor of the client basis.
Mainly because I consider storing all my information on an external core to be unreliable.
As I see it, the Nexus can go down, crash, be subject to weather. Any number of conditions I'm obviously not subject to because I'm up and running at the moment. Plus external hacking. Essentialy, if the Nexus has a hiccup for whatever reason, this isn't EA games, it won't be back up very quick. This will affect X hundred players.
The trouble with local stat management of course, is player hacking, memory hacking, and the like. As well as imposter players.
As I wish to propose, is not get a registered serial number, but to get a serial number that's randomly generated. Yes, it can still be hacked, but only the server can see the entire number value. So the SERVER would confirm suspicious activity reported by players on a normally well behaved player. "Oh, that's not the REAL ATC... the middle numbers match, but the hidden serial numbers are totally fraud... what's that guy's IP range? Oh... hello FryingPan. And goodbye." (FryingPan has been kickbanned.) If we have centralized game serial numbers off the network, it's a problem in the form of that you need to head out to 'activate' your game so to speak. I'm not a fan of 'activation' protocalls in software.
ANYWAY, the way I see it: Yes, stats will be hackable... but they'll more be a record of performance. And if you don't perform according to your stats, it's kind of obvious. I mean, if I kill you five times in a row and you don't so much as scratch the paint on my ship... obviously you don't play with 60/1 KD like your stats say.
We also want to remove any 'incentive' to hack the stats. Since we're moving to make the stats perform more along the lines of a running record than top ten list, another thing that needs to be done is remove the 'rewards' to players for achieving stats. Again, I cite battlefield. You play 2142... asside from an organized game, what is it everyone's doing? Statpadding. Everyone's out to get their Knife Badge... their explosives expert pin, their Titan Defender Badge... They're not playing to have fun.
We want players to be driven to play well for PLAYING WELL, not to earn points for some moronic ladderclimbing fest and online 'bottlecap' collection.
|
GCFA Naval Commander Veteran Player - Supreme Spaceforce Agressor Owner: Samurai Penguin Studios Listen on Last.FM
|
|
|
|
NiteHawk
|
 |
« Reply #3 on: October 11, 2008, 04:48:29 PM » |
|
Ah, so you don't really want the nexus to store anything anymore. I'm not sure I agree with that. I do however know a central nexus like before can go down, etc. But normally before the hacking, it was almost never down. There is no real point of having a serial number, simply for the fact lets say if you have to format, and you use the serial number, you really won't get anywhere with stats, since the serial number you will always have to update to actaully have your Kills/Death/etc ratio. Which means you'd have to copy paste your new serial each time in order to actually keep your stats in case something inevitable happens. It would be good to get others say on this as well, if anyone else has a say. What would you prefer, server side, or client side, etc, and why. I see the issue as being hacking, not for stats, but for the ships themselves in general servers. If the serial is client side only, how would it actually determine who is the real one, since there is no 'list' of actual gamers? What if I use your serial (lets say i figure out the haxor) and join servers you never joined, and then when you join, bam, you're booted, wondering what the hell just happened. I think having this local would be a issue, at least the serial shouldn't be local. To keep stats, I'd honestly throw them on the nexus server, I like globalized servers that store data, most systems use it like that to date. I'm not stating the nexus to keep specifics, but at least some sort of rank, I think it would be way more secure on that part. I think it is more realiable then having no external core, since you can move from computer to computer, not worrying about inputting a different serial every day to keep your ranking. If you don't allow people to keep rankings in this game that currently needs it to have a ship, then you'll have people leaving. I would not enjoy finally getting to SB, then it being removed due to switching computers, starting all over again for example. If they do have a 60/1 ratio, there is also a issue of it may being for example, computer kills, etc, though you can record those seperately if you want in the end. Simply put I don't think you can really determine that unless you sit and watch them for awhile, you may be just the better person against him, but he may be better then 80% of the population. Many games that use local based storing end up hacked. Top 10 and such should definatly be removed, but I think there needs to be some GOAL to achieve, else it's kind of boring. I always worked and enjoyed trying to get my ranking up to get a Starbase for example, but thats my take on it, and thats your take, we need more people to vote on this in the end. I'm willing to shift to where what the population wants anyways. We don't need to really broadcast there stats to others, thats not needed, I agree. Removes the insentive to killing for ladder climbing, etc. P.S. 2142 is a horrible game  However, another way would be to store data on the server side, so each server would be different. Thus this may not be as fun though, and more like Continuum with stats and such, since each server is different. Althrough you'd keep your stats per server, I suppose. Ranks would have to be dumbed down this way, or there would have to be a main global server thats always up, so people can actually enjoy keeping a rank.. But I'm not really sure on that.
|
|
|
|
AdmiralTigerclaw
Sound Developer
Expert Member
   
Posts: 734
Naval Commander: Forum Sound Admin
|
 |
« Reply #4 on: October 11, 2008, 05:08:42 PM » |
|
The serial number is not some magical number, it's just what to call the ship ID number for your player. Something that's selected by the game at the time of ship creation from a random number generator when you first create a player name and ship name. And it would remain individual for every ship.
There is no hard coded autoboot for missmatched numbers. What it's to do is put four numbers every player can see, and the full (12 you say) numbers only where a server admin can see them, their own logs.
This way, if a poser comes along, the idea is that when the issue is inevitably brought up... the server admin goes in, compares the numbers. Since the poser doesn't have access to the entire number, he can't duplicate the entire number (Unless he takes the time to create a server, lure you into it, then log your numbers THEN hack his ship ID number, at which point you can simply create a new name faster than he can mess with you)... it won't match. The admin will go 'ah'... and then examine the IP, and there you have it.
The server would be able to tell by chat-logs alone most posers compared to the real thing. Knowing me, how I behave... Just watching a chatlog of a poser trying to ruin my rep would be easy enough to tell that's not ATC. "This guy's a total asshole, it CAN'T be Tigerclaw." *Click... view, compare...* "Nope, didn't think so... what's this poser's IP range?" *Boot... BAN*
Not automated. It's a simple matter of fixing the ID of a player and ship with something only server admins can fully view. Something the player themself has no control over unless their goal is dedicated hacking. And then the hacker doesn't have a complete picture of who they're posing as... It would be like trying to pose as me when I wear a mask all the time, and the admin can easily take our masks off and compare us anytime.
It's essentially much harder to fool another human than a machine. We recognize behavioral characteristics of each other well enough that you can tell I'm not Skillet... even if I were to do something like change my NAME to skillet.
|
GCFA Naval Commander Veteran Player - Supreme Spaceforce Agressor Owner: Samurai Penguin Studios Listen on Last.FM
|
|
|
|
CloakedKiller
|
 |
« Reply #5 on: October 11, 2008, 06:26:12 PM » |
|
I think it would be cool to incorporate a ladder based ranking system... For example, if you killed another player ranked better than you, you would gain ranks... but if you were killing players who were ranked lower than you, your rank would remain unchanged...
Perhaps we could also set up different sets of rankings for different parts of the game... Planets conquered, players killed, solar systems conquered, ships captured, etc... Just throwing out ideas.
|
|
|
|
|
|
DarkSun
|
 |
« Reply #6 on: October 12, 2008, 12:16:29 AM » |
|
My two cents...
I am basically with Nite, I think using a central database is vastly preferable, for the reasons he's already mentioned, to using local storage on individual players' computers.
In Continuum, stats are stored in a central database (the SSC biller typically), default public arena points are stored separately in said central database for each server (zone), and every two weeks points in the central database are reset. The thing though is, in Continuum you have dedicated hosts (SSCC, SSCE, SSCI, SSCU, T3) that keep SubSpace Council-approved zones up reliably 24/7/365. Stellar Frontier has in the past generally operated more along the lines of, any bloke who wants to host a server is able to put one up on the central database (sf.stardock.net Nexus typically). So with most SF servers being not reliably available, perhaps it is not such a good idea to use Continuum's setup here...
One thing our central database would need, though, is an effective Nexus-wide banning system like Continuum's BanG. The old sf.stardock.net Nexus was only able to ban by specific IPs and that is a rather weak form of banning. BanG bans by MID, IP, IP mask, IDData, and can check for evasions via user information.
|
|
|
|
|
NiteHawk
|
 |
« Reply #7 on: October 12, 2008, 12:22:22 PM » |
|
My two cents...
I am basically with Nite, I think using a central database is vastly preferable, for the reasons he's already mentioned, to using local storage on individual players' computers.
In Continuum, stats are stored in a central database (the SSC biller typically), default public arena points are stored separately in said central database for each server (zone), and every two weeks points in the central database are reset. The thing though is, in Continuum you have dedicated hosts (SSCC, SSCE, SSCI, SSCU, T3) that keep SubSpace Council-approved zones up reliably 24/7/365. Stellar Frontier has in the past generally operated more along the lines of, any bloke who wants to host a server is able to put one up on the central database (sf.stardock.net Nexus typically). So with most SF servers being not reliably available, perhaps it is not such a good idea to use Continuum's setup here...
One thing our central database would need, though, is an effective Nexus-wide banning system like Continuum's BanG. The old sf.stardock.net Nexus was only able to ban by specific IPs and that is a rather weak form of banning. BanG bans by MID, IP, IP mask, IDData, and can check for evasions via user information.
Yeah, I think mostly with ATCs' side of the story you can lose your stuff pretty easily (People are dumb, they are not like us). I don't like the idea of storing everything local side. HOWEVER: It would be simple to do both. For example, I've seen games (NeverWinter Nights) where you can tick off to 'ALLOW LOCAL PROFILES' or 'ALLOW NETWORK ONLY PROFILE' for example. This way, we can get the better of the two. So if someone wants to use the network nexus profiles, they would tick the second box, and if they want it local only (Thus they can test, play, etc) We can allow local profiles. We can also include a simplistic way to say if they ALLOW local profiles instead of network profiles, that they can 'ALLOW ALL SHIPS'. I'm not really into a ladder system just yet, and it won't be on the todo list, for awhile it won't be there. I can see getting stats of other people, but if you start doing TOP 10 stuff, you're going to have alot of 'dick wavers' trying to compare there penis size. Dig? If we do end up doing it, it will have to be very proper, and very nice, something to just view. I would not throw badges in, gets to complicated this way. But perhaps using both would be more benifical, allowing more flexability, and allowing people to risk taking the chance of losing there profile. Note, you cannot select both, so if you been local all your life, and try to get on network side, you'd start almost with blank stats since you never used your network profile. It would be your CHOICE. Many people do prefer network over local, I believe, no offence ATC. I am all for network before local however, but I do know many people like BOTH. We will scrap the server only profiles though (like continuum) and just go for nexus or local. It wouldn't be hard to do at all as long as ones done, the other is simple to add.
|
|
|
|
Star Shadow
Registered Member

Posts: 12
Master of the Stars
|
 |
« Reply #8 on: October 13, 2008, 03:48:05 PM » |
|
Btw i dont think the performance thingy will work that well.because I have up and downs in my own performance cus i can be really really good at times then the next day i get killed 30 times in a row.
|
¥¤§†År•§hÄÐðw¤¥ ------------------------------------------------ Three things are nearly infinite : the universe,Artificial Intelligence and human stupidity; I’m not sure about the universe But Artificial Intelligence is no match for Natural Stupidity.
|
|
|
|
NiteHawk
|
 |
« Reply #9 on: October 13, 2008, 04:47:13 PM » |
|
Confused, you're worried that people will reconize you as a 'average' player then? I'm sure many play great for many times, but just because one player has a off day doesn't mean we should scrap the system completely.
Generally, if a player sucks, either reset your profile and try again, or continue with your own. It's not like your ranked with anyone else anyways.
|
|
|
|
|
Staker
|
 |
« Reply #10 on: October 27, 2008, 05:48:47 PM » |
|
Im still a noob. Who loves to play with scout and own your base... Anyhows... Its a great way to banning players by using the Continuum View of it... But then again... Continuum has 50 Staff and even more running in the background making sure the game is safe from hackers/cheaters... How many staff does SF have :?
|
<<GB-C>> King of Death I am Shiva the King of Death
|
|
|
|
NiteHawk
|
 |
« Reply #11 on: October 30, 2008, 04:54:27 AM » |
|
Cont also has 1000 times more players then us, right now not needed. Having 5 would even be fine for now.
|
|
|
|
|
Staker
|
 |
« Reply #12 on: October 31, 2008, 01:28:35 AM » |
|
No... Not really... Each Server has their own staff... Continuum itself has atleast 25-40 Staff... Trench wars is Active (varies) 200-400 Players and have their own set of Staff... From atleast 50... and most of them are players loyal to the Trench Wars... They have someone interview them over the net to see if they know about coding... What they can host... and if they are going to be good mods. And They don't get paid.
|
<<GB-C>> King of Death I am Shiva the King of Death
|
|
|
|
NiteHawk
|
 |
« Reply #13 on: October 31, 2008, 05:59:33 AM » |
|
No... Not really... Each Server has their own staff... Continuum itself has atleast 25-40 Staff... Trench wars is Active (varies) 200-400 Players and have their own set of Staff... From atleast 50... and most of them are players loyal to the Trench Wars... They have someone interview them over the net to see if they know about coding... What they can host... and if they are going to be good mods. And They don't get paid.
Of course, I know trench is the biggest thing there, always has been, never understood why people enjoy the one hit kill thing, but eh, whatever floats there boat. But yeah, they require a moderation team because they do have players to moderate. From what I see here, we have about 5-10 people willing to host servers and such. Cont doesn't really involve coding either, its more editing a simplistic editor with variables. Though you can dump the file and edit it in a simple editor, but it would not give you the 'basic' help. Not sure why'd they need you to know about coding. From what I've seen, they have a small actual coding base for the continuum game, and several staff members moderating players.
|
|
|
|
|
Staker
|
 |
« Reply #14 on: October 31, 2008, 04:02:48 PM » |
|
Well... Its the bots that have the coding help as a necessity. But then again... it seems that you want to be right and I have to be wrong. Last I signed up for them... They asked for what I knew... and What I love to host...
|
<<GB-C>> King of Death I am Shiva the King of Death
|
|
|
|