The next generation EOL server

Feature requests and ideas for the new unofficial versions of Elma and general talk related to those.

Moderator: Moporators

Post Reply
Domovoy
Kuski
Posts: 119
Joined: 9 Nov 2004, 04:56

The next generation EOL server

Post by Domovoy »

Important stuff

Channel for online discussion is #eoldev, IRCnet.
Bug tracker for EOL
Bug tracker for Web spying



Time for some Christmas treats.

As you may or may not know, in the shadows of Internet there is a secret society of freemasons that work hard on making elma better. In the beginning of this year we made EOL IRC bot and EOL API which allows you to pull battle data and to start battles. We also have couple of more ambitious ideas that require closer integration with EOL, so after giving it a thought I decided to try and write my own EOL server implementation, that would be compatible with EOL client and would also have some features on top of that.

The server has been ready for quite a while. We did some internal testing and it seems to be okay, so the next step is public testing, hence this post.

Server is running on 178.62.58.65, port is 4460, connect with your usual client and usual credentials. The web-interface is at http://d.elmaonline.net/. You can go there and look at battles and stuff, all as usual.

Also, to make it easier for you to estimate the benefits of this new server, there’s a web-spying interface on http://178.62.58.65:8080/. For now it doesn’t respect hiding, so don’t do filthy stuff and don’t drive secret styles.

That’s it. Try it. Tell what you think, whether it’s a good replacement for current server or not. Tell whether you trust it or not. Tell the ideas that you have which are not possible with current EOL. Tell whether you want to participate in the development. Fair warning: don’t drive good times on it yet, they probably won’t be accepted by mopostaff.

Q: Wow
A:
Yep.

Q: Is this stuff legal?
A:
All elma magic happens on the client, the server merely passes your position to other players and writes some stuff to the database. So the new server, no matter how bad and faulty it is, doesn’t give you any more cheating opportunities.

Q: Is it approved?
A:
The EOL crew approves the idea. Milagros said that we can do whatever we like. But obviously the major factor here is public opinion, so if all of you approve it, then it is approved.

Q: Is it fully compatible?
A:
Hard to tell. I try to process client events to the best of my knowledge and I try to generate server events accordingly, but it is very possible that I missed something. That’s what the testing is for. Of invisible things there’s also database compatibility (needed for elmaonline.net) which kinda exists but is untested and there’s IRC interface which is not implemented (and will be implemented separately in EOL bot).

Q: But all existing bugs are fixed?
A:
No. Unfortunately there are some bugs in the protocol and there are some bugs in the client. Those bugs can’t be fixed unless I touch the client, which I am extremely unwilling to do, because it’s assembly code. If you are reading this and thinking “hey, I could improve the client”, please speak up.

Q: Then why exactly this new server is good?
A:
I’m glad you asked. There are several things:
  • It unlocks tons of possibilities. Possibilities we are talking about are: web-spying, all-time replays database for each player, better cheat detection, multiple realms (for example special realms for FEM and other offline events), and so on;
  • I expect it to be more stable, easier to manage, and easier to get data from (which in turn will make elmaonline.net more swift);
  • It is not as black box as the current server, so hopefully we will actually be able to fix bugs and add features for the first time in 5 years;
  • I am ready to collaborate on it with other people when I feel that I need help. In particular it will be shared when I decide to leave the community, but I also think that once the testing hype is over, it would be nice to have someone to support it apart from me;
  • It is cheaper in terms of hosting costs, so it doesn’t really depend on the donations;
  • It is located in Europe so it would probably feel more responsive as most of us are located in Europe.
  • As a special bonus, now the Elma 2 team doesn’t need to design the protocol and to write the server from scratch.
Q: Okay, this stuff makes me excited, what are the next steps?
A:
First step is to do public testing to reveal bugs and see how it performs in general. Once bugs are fixed and performance is tuned, we will switch the server, that’s the second step. The proposed integration scheme is as follows: elmaonline.net and database remain on Kopaka’s infrastructure, server is running on my infrastructure. Such approach gives us all the tasty new stuff and leaves plenty of space for manoeuvring in case something goes wrong. Once we do the switch (early 2016 I presume), we will focus on new features.

Credits
anpdad — testing
b0ne — helped with webspying proof of concept back in May
domi — server code, webspying code
Kopaka — provided site and database for testing
Markku — ultra-diplomacy skills and testing
Max — recplayer code (I wish there were other options)
striker — issue management and testing
ville_j — webspying layout
zamppe — moral support
Last edited by Domovoy on 19 Dec 2015, 18:42, edited 6 times in total.
User avatar
anpdad
38mins club
Posts: 933
Joined: 6 Nov 2003, 06:04
Location: Russia

Re: The next generation EOL server

Post by anpdad »

Oke tried to start a battle, everything was fine until the end and the results were showing up. But after the battle was done, f6 got emptied out and i was presented with a "invalid battle table" message. I'm not sure if the winrec got uploaded also, cuz i was the only participant. Pls mans go for join and test.

Webspy seems to work fine at the moment! Go eye my playing in your browserik.
User avatar
anpdad
38mins club
Posts: 933
Joined: 6 Nov 2003, 06:04
Location: Russia

Re: The next generation EOL server

Post by anpdad »

Tested few externals with couple people, and few battles as well. So far seems like this applies:
-Winrecs upload normally and ballemans can download them without problems.
-issue #1: battle results (F6) always get broken after the balle ends.
-issue #2: webspy doesnt like when mans switch between levs (both internals and externals, but seems to be worse with externals) sometimes. Can't figure out when it breaks, cuz it doesnt break on every levchange for me. The only way to fix it for me was to close the tab and open webspy in a completely new tab. Page refresh wouldn't work. Other mans had similar experiences with few differences.
User avatar
Chris
Kuski
Posts: 1111
Joined: 5 Dec 2008, 16:19
Team: Ferrari
Location: flat track

Re: The next generation EOL server

Post by Chris »

Awesome idea. I might test web spying when I'm at work.
Lousku wrote:could you mayke shorter sig please :( mega annoying and also against rules :()
User avatar
Bjenn
35mins club
Posts: 2391
Joined: 25 Apr 2007, 14:23
Team: EF
Location: Östersund, Sweden

Re: The next generation EOL server

Post by Bjenn »

Sounds legit, I will help testing when I get home.
No one to spy atm on the web interface.
Tip to people: Copy elma to new folder, put new IP there, run two elmas at the same time))
lompe
Kuski
Posts: 94
Joined: 1 Jul 2011, 15:20
Team: Ferrari

Re: The next generation EOL server

Post by lompe »

onla won speedballe because he had lowest speed. pls figx. or at least so it apeared in the website
User avatar
anpdad
38mins club
Posts: 933
Joined: 6 Nov 2003, 06:04
Location: Russia

Re: The next generation EOL server

Post by anpdad »

Lammas wrote:onla won speedballe because he had lowest speed. pls figx. or at least so it apeared in the website
I think it only shows that on the main page, the actual battle page shows correct results.

Gonna paly a bit now for fun, go for webspy osv.
epp
Kuski
Posts: 553
Joined: 19 Aug 2002, 16:54
Location: denmark

Re: The next generation EOL server

Post by epp »

Very beautiful wow!! I'm cant see any textures on webspy though :(
Image ^_^
User avatar
dawid
Kuski
Posts: 176
Joined: 10 May 2014, 19:23

Re: The next generation EOL server

Post by dawid »

Can't web spy :(

Image
iltsu
37mins club
Posts: 248
Joined: 25 Aug 2011, 19:15
Team: EF

Re: The next generation EOL server

Post by iltsu »

dawid wrote:Can't web spy :(

Image
Same here :cry:
User avatar
anpdad
38mins club
Posts: 933
Joined: 6 Nov 2003, 06:04
Location: Russia

Re: The next generation EOL server

Post by anpdad »

Because there's no one there perhaps? Change the IP in your eolconf, enter some lev, fire up the webspy and see if you can spy yourself. Alt-tabbing makes you unspyable btw, just like in regular eol.
User avatar
dawid
Kuski
Posts: 176
Joined: 10 May 2014, 19:23

Re: The next generation EOL server

Post by dawid »

anpdad wrote:Because there's no one there perhaps? Change the IP in your eolconf, enter some lev, fire up the webspy and see if you can spy yourself. Alt-tabbing makes you unspyable btw, just like in regular eol.
I'm BANaned, so I just want to web spy :D. I saw anp, this web spy is mega! It should work with norm serv!
Last edited by dawid on 17 May 2016, 12:15, edited 3 times in total.
Domovoy
Kuski
Posts: 119
Joined: 9 Nov 2004, 04:56

Re: The next generation EOL server

Post by Domovoy »

Webspy breaks from time to time because I am lazy ass and dont reconnect to database if connection is broken. Will fix later today, and will take a look at other bugs.
User avatar
Bjenn
35mins club
Posts: 2391
Joined: 25 Apr 2007, 14:23
Team: EF
Location: Östersund, Sweden

Re: The next generation EOL server

Post by Bjenn »

Very cool webinterface, it could need some work on the updating part. It just doesn't look so good when for example someone reenter a level all the time. Because then the player dissapears from the list and appears again and the site looks just very jumpy. But I think it got bugged out yesterday, because anpdads name blinked on the site like crazy back and forth.

Would also be good if you could separate the spy level/player columns more. Like hide Level spy column so you only see Player and vice versa.

When there are many players to spy, it's hard to pick a level/player because it is so jumpy. Can you solve that somehow?
Domovoy
Kuski
Posts: 119
Joined: 9 Nov 2004, 04:56

Re: The next generation EOL server

Post by Domovoy »

After these few days the following very critical bugs surfaced:
  1. webspy sometimes goes into complete freeze and nothing helps (that was because it didn't reconnect to database)
  2. webspy levels take a lot of time to load
  3. webspy textures take a lot of time to load
  4. webspy freezes on previous level and doesn't show neither new level nor new moves
  5. final battle results not shown in game
I just finished fixing the first two (there was some unlucky dude trying to use webspying in process), but maybe 3&4 were autofixed as well. Now need more testing of webspy to prove or disprove fixes.

I didn't look at the last critical bug yet.
User avatar
dawid
Kuski
Posts: 176
Joined: 10 May 2014, 19:23

Re: The next generation EOL server

Post by dawid »

6. 30fps or even less :(
7. Lev usually doesn't change so kuski rides with previous lev in background. (site refresh (F5) solves the problem)
User avatar
anpdad
38mins club
Posts: 933
Joined: 6 Nov 2003, 06:04
Location: Russia

Re: The next generation EOL server

Post by anpdad »

7 = 4 kind of. And it has indeed not gotten fixed yet :< It only occurs if you spy a particular person btw. If you spy the whole lev, this should not happen (do tell if it does though!). However, you will not automatically follow them if they decide to switch lev though, for obvious reasons.

After 40mins of testing, issues 1&2 have not happened to me or Markku, yey. As of 6, this is not a bug, but rather a suggestion. I would definitely prefer some interpolation to appear at some stage of development, but at least at the moment it's probably low in the priority list. I guess domi himself will elaborate on this point later. Maybe.
User avatar
Kopaka
39mins club
Posts: 6610
Joined: 23 May 2002, 13:59
Team: LAME
Location: In a northern danish city beating YOUR record.
Contact:

Re: The next generation EOL server

Post by Kopaka »

In order to get some more testing done we'll arrange some testing nights where we encourage people to come and test so there's actually some people to play with. The first will be this friday december 18th starting at 21:00 EET for two hours (of course you are more than welcome to continue playing more). Come online on the test server, play some battles, start some battles of varying types (old levels are okay!), play some levels, some multi, some spying etc. The important things to test are that all the various features you know from the current server works and that they work as expected, for example you see the right times in results, and to just get some data generated so we can see that it saves correctly in database.

If you participate in at least 10 battles throughout the testing nights (there will be more next year) you will get a tester achievement on the eol site, but more importantly you help the development of a new eol server, one that we can actively improve.
User avatar
Chris
Kuski
Posts: 1111
Joined: 5 Dec 2008, 16:19
Team: Ferrari
Location: flat track

Re: The next generation EOL server

Post by Chris »

I can ez start many battles.
Lousku wrote:could you mayke shorter sig please :( mega annoying and also against rules :()
User avatar
ROKKEBOL
Kuski
Posts: 376
Joined: 30 Jan 2011, 08:02
Team: BAP
Location: asdf
Contact:

Re: The next generation EOL server

Post by ROKKEBOL »

Súre
Image

Image
Domovoy
Kuski
Posts: 119
Joined: 9 Nov 2004, 04:56

Re: The next generation EOL server

Post by Domovoy »

Bugs 1-4 should be completely fixed. Will work on 5 today.
User avatar
Ismo
39mins club
Posts: 114
Joined: 28 Mar 2005, 18:16

Re: The next generation EOL server

Post by Ismo »

Helo. Looks/sounds nice.

I assume decent API coming too. I see some /player, /level paths at least already.

I used Kopaka's "api" for making beer battle result calculator for FEM 2015. It is very WIP and luckily so because it wasn't too pleasant API to use (and new one coming \o/). JSON format looks so also much nicer than that RSS-XML api which doesn't follow RSS specification. It also has some CORS issues.

Oke, little list what I think new api could at least have:

Code: Select all

/players/:id
/levels/:id
/levels/:id/results
/battles/:id
/battles/:id/results

Also would be maybe nice:
/levels/:id/results?drivenDateStart=[drivenDateStart]&drivenDateEnd=[drivenDateEnd]
 - that would be nice when fetching level times which were driven during eg. beer battle
I'm sure I've more ideas for that later when actually see what is needed.
[00:21:58] (@cyre) ismo taas juonu liikaa omenamehuu
User avatar
ROKKEBOL
Kuski
Posts: 376
Joined: 30 Jan 2011, 08:02
Team: BAP
Location: asdf
Contact:

Re: The next generation EOL server

Post by ROKKEBOL »

Domi can yoù add new battle types into yoùre delmaonline?
Image

Image
Domovoy
Kuski
Posts: 119
Joined: 9 Nov 2004, 04:56

Re: The next generation EOL server

Post by Domovoy »

Ismo: Yes, the API is coming, but not that soon. Making the server stable is the main priority for now.

Redline: What battle types? Also I have no control over d.elmaonline.net.
User avatar
Ismo
39mins club
Posts: 114
Joined: 28 Mar 2005, 18:16

Re: The next generation EOL server

Post by Ismo »

Good Domi. I'm not going to need it before summer anyway.
[00:21:58] (@cyre) ismo taas juonu liikaa omenamehuu
User avatar
ROKKEBOL
Kuski
Posts: 376
Joined: 30 Jan 2011, 08:02
Team: BAP
Location: asdf
Contact:

Re: The next generation EOL server

Post by ROKKEBOL »

There was an thread somewhere on laûta here. (orka search from phone, mans, help me)
Image

Image
User avatar
Kopaka
39mins club
Posts: 6610
Joined: 23 May 2002, 13:59
Team: LAME
Location: In a northern danish city beating YOUR record.
Contact:

Re: The next generation EOL server

Post by Kopaka »

I have noticed there has been a bit of confusion around this, especially in relation to the ip change earlier this month. So I will try to explain a bit more.

What happened on december 2nd when we changed ip was that EOL was moved to a different physical machine, which means we needed to change to the ip that points to that new machine.

What this topic is about is the application that runs on that machine. Domi is working on a new version of this application, which we are now testing on a different machine than the one that runs the real eol, which is why we use another IP for this testing.

So 67.205.61.41 is still the current real EOL and the only place you should play when doing times that matters, like PR's, new battles, cups etc. 178.62.58.65 is for the time being the place where we test the beta version of a new EOL server application.

And tonight in 10 minutes we will try to get a lot of people on this beta to do some more testing.
User avatar
Bjenn
35mins club
Posts: 2391
Joined: 25 Apr 2007, 14:23
Team: EF
Location: Östersund, Sweden

Re: The next generation EOL server

Post by Bjenn »

How did it go? I came online 10min after the 2h party, and it was stone dead. 4 people online but not active.
Domovoy
Kuski
Posts: 119
Joined: 9 Nov 2004, 04:56

Re: The next generation EOL server

Post by Domovoy »

Webspy was very bad, but I'm halfway through fixing it. As for new bugs in the server itself, I guess other mans can tell better.
User avatar
Kopaka
39mins club
Posts: 6610
Joined: 23 May 2002, 13:59
Team: LAME
Location: In a northern danish city beating YOUR record.
Contact:

Re: The next generation EOL server

Post by Kopaka »

Tried a bunch of different battles types, most seemed to work. Speed, apple, flag tag, one wheel, drunk, last counts, finish count, 1htt (although we didn't finish it) had no issues. Multi battle was bugged, just stuck at start after being matched with someone. Some issues with F lists which were mostly known. F7 not showing battles times, F6 not working post battle, if you have it open when it ends you get invalid table message, if you open it after battle it's just empty.
Domovoy
Kuski
Posts: 119
Joined: 9 Nov 2004, 04:56

Re: The next generation EOL server

Post by Domovoy »

Webspy should now have no network performance issues. There were 2 problems:
1. On every frame (20 times a second) client tried to go to server to get level name and player name, if he didn't know them already.
2. Server in turn would go to database on each such request.

So when 20 guys tried to use webspy and the same time, it produced like 800 requests per second, which slowed both database and server a little, and they responded only to a limited amount of requests, so next second there were 600 requests from previous second and 600 from current one, and so on. Avalanche effect: server slows down and gets more requests because of that, so slows down even more.

To solve this I split webspy into 3 different services (websocket, api and static), added caching on api service, and fixed client to not request same data over and over again. So it should be fine for now, but if static data (pictures) will be slow on big amount of clients, I'll use some nginx.

Please note that frame dropping and general unsmoothness were not part of this problem, so they still remain.
Domovoy
Kuski
Posts: 119
Joined: 9 Nov 2004, 04:56

Re: The next generation EOL server

Post by Domovoy »

Markku created IRC channel for discussion: #eoldev, IRCnet. It has its own instance of eolbot so can now see bugreports from inside eol on that channel.
Domovoy
Kuski
Posts: 119
Joined: 9 Nov 2004, 04:56

Re: The next generation EOL server

Post by Domovoy »

I have also made 2 public issue trackers:
Bug tracker for EOL
Bug tracker for Web spying

All bugs and ideas for this project should ideally be submitted to those two bug trackers, but I know you all are lazy, so I will also montior this topic and #eoldev.
User avatar
ROKKEBOL
Kuski
Posts: 376
Joined: 30 Jan 2011, 08:02
Team: BAP
Location: asdf
Contact:

Re: The next generation EOL server

Post by ROKKEBOL »

Do yoú Domi make yoúr new eol or just úpgrade Mila's one?
Image

Image
Domovoy
Kuski
Posts: 119
Joined: 9 Nov 2004, 04:56

Re: The next generation EOL server

Post by Domovoy »

Ï'm nòt ßürę Ī ūñdêrštæńd ÿøûr qúėśtįõñ!!!

I make a compatible new server that existing eol.exes can connect to. Somewhat similar to https://en.wikipedia.org/wiki/Bnetd.
User avatar
Kopaka
39mins club
Posts: 6610
Joined: 23 May 2002, 13:59
Team: LAME
Location: In a northern danish city beating YOUR record.
Contact:

Re: The next generation EOL server

Post by Kopaka »

RedLine wrote:Do yoú Domi make yoúr new eol or just úpgrade Mila's one?
He makes a new eol of the part that runs on a server that you connect to, not the part that you have on your own computer. Which means we can make some new features, but other things we can't change. But for now the important thing is getting the same features as on the current one working with no bugs.
DCEM
Kuski
Posts: 89
Joined: 21 Aug 2002, 14:45
Location: Skien, Norway
Contact:

Re: The next generation EOL server

Post by DCEM »

I would suggest some way to download a rec for the best time in a lev if it is in the database.
Say like if I have to leave the battle midway then return an hour later, I could enter the lev and press ctrl-f11 or something and get the no1 rec for the lev.
It's not the right time to be sober, 'cause now the idiots are taking over. EM rox.
Domovoy
Kuski
Posts: 119
Joined: 9 Nov 2004, 04:56

Re: The next generation EOL server

Post by Domovoy »

Nice suggestion. However, I don't see a way to trigger rec download with hotkey. So I guess that the easiest way would be a chat command. I will add a special system user (I realized I need it anyway) and different PMs to that user will trigger different actions.
User avatar
Bjenn
35mins club
Posts: 2391
Joined: 25 Apr 2007, 14:23
Team: EF
Location: Östersund, Sweden

Re: The next generation EOL server

Post by Bjenn »

You need another night of testing? Tell us a date and time.
User avatar
ROKKEBOL
Kuski
Posts: 376
Joined: 30 Jan 2011, 08:02
Team: BAP
Location: asdf
Contact:

Re: The next generation EOL server

Post by ROKKEBOL »

Im cant even connect that game for ùnknown reason, it says tcp connect:osv etc.
Image

Image
User avatar
kuchitsu
Kuski
Posts: 1423
Joined: 13 Aug 2010, 20:31

Re: The next generation EOL server

Post by kuchitsu »

Domovoy wrote:I will add a special system user (I realized I need it anyway) and different PMs to that user will trigger different actions.
Will you name it something like AAAAAAAA so that it's the first one that comes up when you switch to the PM mode?
User avatar
dawid
Kuski
Posts: 176
Joined: 10 May 2014, 19:23

Re: The next generation EOL server

Post by dawid »

kuchitsu wrote:
Domovoy wrote:I will add a special system user (I realized I need it anyway) and different PMs to that user will trigger different actions.
Will you name it something like AAAAAAAA so that it's the first one that comes up when you switch to the PM mode?
IMO fierst is semethyng lyke ...... or ____
User avatar
Sunshine
Kuski
Posts: 413
Joined: 21 Feb 2016, 17:59

Re: The next generation EOL server

Post by Sunshine »

could this be used to have 1v1 flag tag tournaments or for 1v1 playing in general? i think flag tag is fun and nice mode with lots of potential if good levels for it but only 1v1, even adding just one more person makes it retarded imo and having 10 players sometimes in eol ft is total clusterfuck.
User avatar
Bjenn
35mins club
Posts: 2391
Joined: 25 Apr 2007, 14:23
Team: EF
Location: Östersund, Sweden

Re: The next generation EOL server

Post by Bjenn »

Hello, any updates?
Post Reply