Author Topic: What about a ladder/league Server  (Read 2585 times)

m0ellemeister

  • Guest
What about a ladder/league Server
« on: 6 November 2010, 02:08:49 »
An idea came up my mind:

What do you think about an ladder server, which could track the results of online games? Which player made best amount of points? Who won most of the game he/she played? Which team (team is defined by it's team members during play) won most games?

I would like to write such a "ladder Server", but i don't have any C(++) skills. Python is my favorite, so i would start writing it using Python. (But i'm not a professional coder, it might a good way to skill my self on python)

HTTP calls using e.g. curl could be used by MegaGlest for interacting with the ladder server, or maybe soap or what ever is preferred.

I would like to know, if any interest in kinda "service" is present, or not? If not, i won't start to working on it. If it seems to be a nice and wanted feature, i would start to work on it.

What do you think? Is it worth to pay time on such a peace of software, or not?

-Archmage-

  • Moderator
  • Dragon
  • ********
  • Posts: 5,887
  • Make it so.
    • View Profile
    • My Website
Re: What about a ladder/league Server
« Reply #1 on: 6 November 2010, 04:29:07 »
I'm now deleting any of Kobe's offensive posts, I'm done with his shit. Sorry about this disturbance, but I just deleted a post of his here, and I wanted to announce that I'm clamping down on him.
Egypt Remastered!

Proof: Owner of glest@mail.com

ultifd

  • Airship
  • ********
  • Posts: 4,443
  • The Glest Video Guy :) The one and only. :P
    • View Profile
    • My Youtube Channel
Re: What about a ladder/league Server
« Reply #2 on: 6 November 2010, 05:21:17 »
Ignoring the mad, sad, impatient, childish, ignorant, hypocritical, immature, and selfish troll... :zzz:  :silence:  :|

Quote
What do you think about an ladder server, which could track the results of online games? Which player made best amount of points? Who won most of the game he/she played? Which team (team is defined by it's team members during play) won most games?
As I have said, that's a nice idea... (and also already thought of before, kinda...) I think people before suggested more of a list type of thing (and that would be easier...). But first, "we" need to still finish on the current problems/features, such as integrating IRC, rendering and/or lag improvements, memory issues, and all of those other small but annoying issues...
Quote
I would like to know, if any interest in kinda "service" is present, or not? If not, i won't start to working on it. If it seems to be a nice and wanted feature, i would start to work on it.
Not that I know of.
Quote
What do you think? Is it worth to pay time on such a peace of software, or not?
Yes, but not right now.

softcoder

  • MegaGlest Team
  • Battle Machine
  • ********
  • Posts: 2,239
    • View Profile
Re: What about a ladder/league Server
« Reply #3 on: 6 November 2010, 05:57:34 »
I think it can be a good idea, Titi and I have been busy enough with basic  life and other MG stuff. I would suggest that any server side uses PHP since that is available almost everywhere that you could setup a server. The client can be modified to send Internet game stats to the server and the server would keep player stats etc. This is been mentioned in the forums but we have not had time to look into this feature yet so if you are willing, that would be great :)

tomreyn

  • MegaGlest Team
  • Airship
  • ********
  • Posts: 2,764
    • View Profile
    • MegaGlest - the free and open source cross platform 3D real-time strategy game
Re: What about a ladder/league Server
« Reply #4 on: 1 December 2010, 12:07:57 »
I'd like to see this feature, too, and would be happy to contribute the server side code (unless anyone else wants to) as soon as a client implementation has been planned / an interface has been designed.
atibox: Ryzen 1800X (8 cores @3.6GHz), 32 GB RAM, MSI Radeon RX 580 Gaming X 8G, PCI subsystem ID [1462:3417], (Radeon RX 580 chipset, POLARIS10) @3440x1440; latest stable Ubuntu release, (open source) radeon (amdgpu) / mesa video driver
atibox (old): Core2Quad Q9400 (4 cores @2.66GHz), 8 GB RAM, XFX HD-467X-DDF2, PCI subsystem ID [1682:2931], (Radeon HD 4670, RV730 XT) @1680x1050; latest stable Ubuntu release, (open source) radeon / mesa video driver
notebook: HP envy13d020ng
internet access: VDSL2+

· · · How YOU can contribute to MG · Latest development snapshot · How to build yourself · Megapack techtree · Currently hosted MG games · · ·

m0ellemeister

  • Guest
Re: What about a ladder/league Server
« Reply #5 on: 9 January 2011, 23:33:40 »
i would like to contribute to the server code too. But why wait till a client interface has been designed? We could define the client calls, couldn't we? Maybe using http(s) as underlaying comunication layer. E.g. the client has to call something like this:
Code: [Select]
http://ladderserver.tld/addstats?host=<playernickname>points=<integer>;teammate=<anothernick>;points=<integer>;opponent=<OppNickName>:points=<integer>
This is just an idea how to call the ladder server. I haven't thought about on how to implement this yet. I think, the best way to establish a ledder server is to keep it simple to talk to it for the core developers. What do you think?

Another point of view to this is, that we are able to test the ladder server this way without having (Mega)Glest having to call it by it's self during development.

2nd: this way it's not important which "backend"/language is in use. I would like to use Python, because it's easy to code [beside the indenting ;-) ] and an OOP language. But i'm open minded. It's just a suggestion.

Conzar

  • Guest
Re: What about a ladder/league Server
« Reply #6 on: 10 January 2011, 00:01:13 »
Maybe using http(s) as underlaying comunication layer.

How does the server verify the data it gets from the client?  Meaning, how does the server prevent someone from just stat boosting? 

Can distributed matches work in a ladder? Or do we need to think about having a server that verifies games?  Basically, how can cheating be prevented?

As for backend, I think java + db40 is a good combination (db4o is an object oriented database that is fast and uses java class's for database storage, that means you don't need to convert your data memebers to sql like all relational databases). 


Cygal

  • Guest
Re: What about a ladder/league Server
« Reply #7 on: 10 January 2011, 09:24:36 »
I'm sorry, just posting here to test a feature of the new website.

tomreyn

  • MegaGlest Team
  • Airship
  • ********
  • Posts: 2,764
    • View Profile
    • MegaGlest - the free and open source cross platform 3D real-time strategy game
Re: What about a ladder/league Server
« Reply #8 on: 10 January 2011, 10:53:34 »
See this for a discussion of the underlying issue of authenticating users and accounting:

http://sourceforge.net/mailarchive/message.php?msg_id=26866089
atibox: Ryzen 1800X (8 cores @3.6GHz), 32 GB RAM, MSI Radeon RX 580 Gaming X 8G, PCI subsystem ID [1462:3417], (Radeon RX 580 chipset, POLARIS10) @3440x1440; latest stable Ubuntu release, (open source) radeon (amdgpu) / mesa video driver
atibox (old): Core2Quad Q9400 (4 cores @2.66GHz), 8 GB RAM, XFX HD-467X-DDF2, PCI subsystem ID [1682:2931], (Radeon HD 4670, RV730 XT) @1680x1050; latest stable Ubuntu release, (open source) radeon / mesa video driver
notebook: HP envy13d020ng
internet access: VDSL2+

· · · How YOU can contribute to MG · Latest development snapshot · How to build yourself · Megapack techtree · Currently hosted MG games · · ·

olaus

  • Guest
Re: What about a ladder/league Server
« Reply #9 on: 11 January 2011, 20:46:25 »
How does the server verify the data it gets from the client?  Meaning, how does the server prevent someone from just stat boosting? 

Can distributed matches work in a ladder? Or do we need to think about having a server that verifies games?  Basically, how can cheating be prevented?

a looooong time ago i played in a ladder of command & conquer 2. it was just a webpage with no interaction to the game-server. it worked like this:

- 2 players agree on the page, that they'll start a game.
- only the player with the lower rank could raise his rank by a win (so creating fake accounts was no problem because they always had the lowest rank so nothing to win here)
- if f.e. rank 2000 beat rank 1000 he would raise for half the difference ( 2000-1000 / 2 = 500) to rank 1500.
- the results were entered on the webpage and had to be agreed to by both.
- the player with the higher rank has nothing to loose, so he's not interested in cheating.

worked fine but i guess there has been some development since then ;) there's probably some free software somewhere which does something like this because it's a general problem. or use the elo-system of chess.

Conzar

  • Guest
Re: What about a ladder/league Server
« Reply #10 on: 11 January 2011, 21:42:31 »
worked fine but i guess there has been some development since then
Why would the higher ranked player allow his stat to go down if he lost and if he has the power to block the win?  Sounds like a moderation nightmare.

As for technology to alleviate this problem, how SC2 and other modern online games work is the game is played on a server.  The clients just report their user commands to the server.  The server maintains the real game state, so any hacking on the local client won't effect the game on the server (which is the game that counts).  When the game is completed, the game server reports to the ladder server.  The game server is trusted by the ladder server and might be on the local network or might have some really secure connection between the two servers.

So is there a way to handle stats automatically with the current peer-2-peer setup?

tomreyn

  • MegaGlest Team
  • Airship
  • ********
  • Posts: 2,764
    • View Profile
    • MegaGlest - the free and open source cross platform 3D real-time strategy game
Re: What about a ladder/league Server
« Reply #11 on: 13 January 2011, 06:56:38 »
We actually have a standard client - server architecture, not a peer-to-peer one. Game clients connect to game servers, and game server (optionally) report games to the configured master server (and could report statistics, too). Now there are safeguards against cheating clients in place, and some for servers reporting false games to the master server, too. However, assuming all you control is the master server, there is no easy way to prevent the servers to report fake statistics, even more so with an open source, game.

The way other multi-player games solve this issue is by assigning a unique ID to every game installation - whether client or (possibly dedicated) server -, and make users create accounts to login to a central server before being able to join an Internet server. The master server monitors the clients' logins and match the game statistics reported by the client with those reported by the servers. If they don't match, the client is considered to be cheating. I assume they also use a software to detect irregularities (such as a player who previously played very bad becoming very good at once) and blacklist based on this, too.

Maintaining a central ladder is therefore combined with a high maintenance overhead, and unless we have volunteers available who are willing to do daily manual moderation on this _and_ we have people who are able and willing to code and tweak/maintain the cheat detection algorithms, this may turn out to be not really something we want to do.

But then, it's always easy to shut some service down if we realize we cannot maintain it. So, once we have clearly defined goals and a well considered plan for the implementation I'm all for it.
atibox: Ryzen 1800X (8 cores @3.6GHz), 32 GB RAM, MSI Radeon RX 580 Gaming X 8G, PCI subsystem ID [1462:3417], (Radeon RX 580 chipset, POLARIS10) @3440x1440; latest stable Ubuntu release, (open source) radeon (amdgpu) / mesa video driver
atibox (old): Core2Quad Q9400 (4 cores @2.66GHz), 8 GB RAM, XFX HD-467X-DDF2, PCI subsystem ID [1682:2931], (Radeon HD 4670, RV730 XT) @1680x1050; latest stable Ubuntu release, (open source) radeon / mesa video driver
notebook: HP envy13d020ng
internet access: VDSL2+

· · · How YOU can contribute to MG · Latest development snapshot · How to build yourself · Megapack techtree · Currently hosted MG games · · ·

Omega

  • MegaGlest Team
  • Dragon
  • ********
  • Posts: 6,167
  • Professional bug writer
    • View Profile
    • Personal site
Re: What about a ladder/league Server
« Reply #12 on: 13 January 2011, 21:34:06 »
That's too much of a hassel in my opinion. Simplicity will always win, and I've never seen or heard of anyone cheating (no real point, in all honesty). By not collecting scores or data, we ensure that there's much less incentive to cheat.
Edit the MegaGlest wiki: http://docs.megaglest.org/

My personal projects: http://github.com/KatrinaHoffert

Conzar

  • Guest
Re: What about a ladder/league Server
« Reply #13 on: 15 January 2011, 10:13:52 »
That's too much of a hassel in my opinion. Simplicity will always win, and I've never seen or heard of anyone cheating (no real point, in all honesty). By not collecting scores or data, we ensure that there's much less incentive to cheat.
If the game remains to have a small community, then I think you are correct.  But if it were to ever become popular, then I think we would see cheaters (back in the day, Counter Strike had some popular cheats like wall hacks and auto-head tracking; all these existed before any type of ladder or stats were being tracked).

Cygal

  • Guest
Re: What about a ladder/league Server
« Reply #14 on: 15 January 2011, 10:44:41 »
"Popular" open source games like have a lot of trouble with cheaters. I still think the problem is different with FPSs, you can join whenever you want and cheating is more ""fun"". Currently, every one knows each other and it could potentially be easy to ask the master server to ban cheaters.

The real problem is have untrusted servers report the stats of the games of untrusted clients. I don't know what a solution would be, and I think it has always been "solved" with security through obscurity. Of course there are approaches to detect cheating but they don't work perfectly and the maintenance cost is extremely high, as said tomreyn.

will

  • Golem
  • ******
  • Posts: 783
    • View Profile
Re: What about a ladder/league Server
« Reply #15 on: 15 January 2011, 12:23:05 »
Perhaps a upvote (no downvote) system where the upvotes of those you upvote count for more, so everyone sees the reputation based on the views of those they themselves upvote

Th point being that people loose respect for cheaters, but nobosy can themselves guage how others see them, so it is largely self-policing

titi

  • MegaGlest Team
  • Airship
  • ********
  • Posts: 4,240
    • View Profile
    • http://www.titusgames.de
Re: What about a ladder/league Server
« Reply #16 on: 16 January 2011, 02:07:58 »
Come on guys a ladder/league Server for 3 or 5 active players which have most of the fun playing coop? You are kidding!
I am not even a bit willing to discuss this at the moment with such a little player base…
Try Megaglest! Improved Engine / New factions / New tilesets / New maps / New scenarios