AlphaLobby Alpha 0.06.10 - Page 3

AlphaLobby Alpha 0.06.10

Discuss development of lobby clients, server, autohosts and auto-download software.

Moderators: Moderators, Lobby Developers

Axiomatic
Posts: 68
Joined: 20 Jan 2011, 04:17

Re: AlphaLobby RC1

Post by Axiomatic »

Pako wrote:Don't mess with the CPU field, it's the best smurf detector.
At the moment, Alphalobby keeps track of renames and puts the old name in parenthesis. It doesn't work if someone makes a new account though

EDIT:
I've thought a little longer on this and you have a point, but just because you use cpu field to identify players doesn't mean it is the best way to detect smurfs. Its a hack.
You get false negatives and false positives. And it forces you to remember flag+cpu combinations because its not precise enough for the lobby to do for you.

Using cpu to identify lobbies is a hack too; but for smurf detection, tracking user ids is a much better solution.
From my experience, the "new username every week" players aren't actually smurfing since they have their usual rank and user ID. Since they have the same user ID, I can easily display their old username. And when I display someones old username, its guaranteed to be correct.
I can't identify second accounts like this but renames is 95% of cases anyway.
User avatar
Cheesecan
Posts: 1571
Joined: 07 Feb 2005, 21:30

Re: AlphaLobby Alpha 0.1

Post by Cheesecan »

Sounds pretty much like what !smurfs does on autohosts, except that they have much more userdata collected than what a typical client will have. It's not completely effective.

flag+cpu is used because it's still the most reliable way, it gives some false negatives but otherwise fine(if you have good memory). Userids change when you create a new account and most infamous smurfs will create new accounts when their account becomes too well-known.

They best way would probably be to make the account creation process more difficult and time-consuming to deter people from creating new ones all the time. And also limit the amount of renames per month to 1.
User avatar
Beherith
Posts: 5145
Joined: 26 Oct 2007, 16:21

Re: AlphaLobby Alpha 0.1

Post by Beherith »

0.02 wont launch on win7 x64 or winxp sp3 x86 , running the debug throws the following error on both:
The procedure entry point Init@8 could not be located in the dll unitsync.dll
Edit:
win7:

Code: Select all

S:\Spring>gdb -ex run alphalobby0.02-debug.exe
GNU gdb (GDB) 7.2
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "mingw32".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from S:\Spring/alphalobby0.02-debug.exe...done.
Starting program: S:\Spring/alphalobby0.02-debug.exe
[New Thread 4444.0x11f4]
During startup program exited with code 0xc0000139.
winxp:

Code: Select all

D:\Spring>gdb -ex run alphalobby0.02-debug.exe
GNU gdb (GDB) 7.2
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "mingw32".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from D:\Spring/alphalobby0.02-debug.exe...done.
Starting program: D:\Spring/alphalobby0.02-debug.exe
[New Thread 544.0x810]
gdb: unknown target exception 0xc0000139 at 0x7c9666c6
During startup program exited with code 0xc0000139.
User avatar
hoijui
Former Engine Dev
Posts: 4344
Joined: 22 Sep 2007, 09:51

Re: AlphaLobby Alpha 0.1

Post by hoijui »

@Cheesecan
very important rules in engineering:
  • optimze only when required
  • optimze first what is most limiting
with a protocol that is already in use by many parties, the first one is to be followed^10. the donators would not be happy by the community spending huge efforts and introducing tons of new bugs with no visible benefit at all.
Axiomatic
Posts: 68
Joined: 20 Jan 2011, 04:17

Re: AlphaLobby Alpha 0.1

Post by Axiomatic »

Beherith wrote:snip

First of all thanks.

Looks like the problem is with linking to unitsync, though I'm sure that is obvious to you.
Backtrace shows nothing as far as I can tell, which would be expected for a linking error.

I'm not entirely sure what to make of this tbh. Since other lobbies are working, I'm probably not linking correctly.
Last edited by Axiomatic on 22 Jan 2011, 15:11, edited 2 times in total.
User avatar
very_bad_soldier
Posts: 1397
Joined: 20 Feb 2007, 01:10

Re: AlphaLobby Alpha 0.1

Post by very_bad_soldier »

Beherith wrote:0.02 wont launch on win7 x64
It does for me, without problems. Try dependency walker to inspect linking problems to DLLs. Maybe there are different versions of unitsync.dll around that export their functions with different names? DW does show function Init@8 in my unitsync.dll but it seems alphalobby only uses plain Init for me.
Axiomatic
Posts: 68
Joined: 20 Jan 2011, 04:17

Re: AlphaLobby Alpha 0.1

Post by Axiomatic »

hoijui wrote:with a protocol that is already in use by many parties, the first one is to be followed^10. the donators would not be happy by the community spending huge efforts and introducing tons of new bugs with no visible benefit at all.
Surprisingly enough I actually agree with you xD, though I do think you are overestimating the time required adapt to a new protocol.

Network code is only a small part of each lobby. Yeah my lobby is little more than a toy, but of its 6000 SLOC, less than 1000 deal with the server.

Having said that, it isn't worth the effort if it only saves $100 or so year (yeah i picked that number right out of my arse) and it would inevitably result in bugs and downtime.
User avatar
Cheesecan
Posts: 1571
Joined: 07 Feb 2005, 21:30

Re: AlphaLobby Alpha 0.1

Post by Cheesecan »

I also don't think that it's worth the trouble to remove strings from messages, but some changes such as renaming only once per month, could be implemented without affecting the protocol much. I don't like the idea of using CPU speed as a hack for lobby identification, as someone earlier pointed out it's used to detect smurfs, so by doing so you would break one of the few means we have to do that.
Axiomatic
Posts: 68
Joined: 20 Jan 2011, 04:17

Re: AlphaLobby Alpha 0.1

Post by Axiomatic »

I've been looking through springlobby's source, it uses runtime linking instead of load time linking.
I don't know if this would any difference. I need to study up on dynamic linking.

And I don't think that there is any difference between Init@8 and Init, the decorated version is exported for C++ and the undecorated for C. Both would have the same entry point.
Last edited by Axiomatic on 22 Jan 2011, 18:39, edited 1 time in total.
Axiomatic
Posts: 68
Joined: 20 Jan 2011, 04:17

Re: AlphaLobby Alpha 0.1

Post by Axiomatic »

OK I'm pretty certain that the problem is that I'm relying on load-time linking. Export ordinals change with different versions of unitsync.dll, so Alphalobby is only working when its loading the same dll I compiled with.

Fix coming soon...
User avatar
very_bad_soldier
Posts: 1397
Joined: 20 Feb 2007, 01:10

Re: AlphaLobby Alpha 0.1

Post by very_bad_soldier »

Are you sure alphalobby is importing unitsync functions by ordinal numbers instead of function names? According to DW it is importing by name. Beherith's error message implies the same. I dont think it would be a good move to import by ordinal.
Axiomatic
Posts: 68
Joined: 20 Jan 2011, 04:17

Re: AlphaLobby Alpha 0.1

Post by Axiomatic »

This build uses runtime linking:
http://springfiles.com/system/files/dow ... melink.exe

I don't know if it will fix it, but its how springlobby links so maybe it will. At the very least it might give a better error message.

This isn't the only bug I've run in to, though the first release wasn't too bad, I ended up breaking a lot of things in the meantime.
User avatar
hoijui
Former Engine Dev
Posts: 4344
Joined: 22 Sep 2007, 09:51

CPU tag

Post by hoijui »

from the lobby protocol doc XML:

Code: Select all

<Argument Name="cpu" Optional="no" Sentence="no">
        An integer denoting the speed of client's processor in MHz (or value of x+ tag if AMD).
        Client should leave this value at 0 if it can't figure out its CPU speed.
</Argument>
at https://github.com/spring/LobbyProtocol ... n.xml#L299

and in TASServer source code i found this (from Betalord still):

Code: Select all

	/**
	 * In MHz if possible, or in MHz*1.4 if AMD.
	 * 0 means the client can not figure out its CPU speed.
	 */
	private int cpu;
Axiomatic
Posts: 68
Joined: 20 Jan 2011, 04:17

Re: AlphaLobby Alpha 0.1

Post by Axiomatic »

Its pretty easy to get cpu freq. The only reason why I would use a static value would be to let lobbies be easily identified, as you seemed to be suggesting in an earlier post.

For now I'll just leave it as 0. I have more than enough stuff to do atm and this is kinda a low-priority.
Last edited by Axiomatic on 23 Jan 2011, 15:37, edited 1 time in total.
User avatar
Beherith
Posts: 5145
Joined: 26 Oct 2007, 16:21

Re: AlphaLobby Alpha 0.1

Post by Beherith »

Ok, that runtime build works on win7. Great work!
Axiomatic
Posts: 68
Joined: 20 Jan 2011, 04:17

Re: AlphaLobby Alpha 0.1

Post by Axiomatic »

Beherith wrote:Ok, that runtime build works on win7. Great work!
Thanks for helping me fix it.
BaNa
Posts: 1562
Joined: 09 Sep 2007, 21:05

Re: AlphaLobby Alpha 0.1

Post by BaNa »

works here too!

only gripe atm is i wish you could turn off sounds. Great work!

edit: another thing is that i dont have a bar i can type in on the main chat window, but i do have it in battleroom.
Axiomatic
Posts: 68
Joined: 20 Jan 2011, 04:17

Re: AlphaLobby Alpha 0.1

Post by Axiomatic »

BaNa wrote:only gripe atm is i wish you could turn off sounds. Great work!
I share your distaste for sounds btw, but I haven't added any sound effects, so I don't know where they are coming from. Maybe windows is adding them automatically for clicks or something, in which case they probably use settings from control panel.
another thing is that i dont have a bar i can type in on the main chat window, but i do have it in battleroom.
The main channel has a chat bar. I intentionally removed the chat bar from the official server because there isn't really sane thing to do with input. I guess it would handle "/ingame" etc, but you could do that anywhere.

alpha 0.02 is pretty buggy. I really only wanted to see if the linking issue was fixed; there are a few crashes and other stuff that simply doesn't work.
BaNa
Posts: 1562
Joined: 09 Sep 2007, 21:05

Re: AlphaLobby Alpha 0.1

Post by BaNa »

my lobby didnt join main by default on first run, so i had nowhere to type /j #whatever :)

and yes its some windows default sound, i have a temp windows theme on and it has sounds enabled. Don't get it with other lobbies tho, even with this theme


Very nice work btw, im probably using it as main as soon as i remember my passwords.
Axiomatic
Posts: 68
Joined: 20 Jan 2011, 04:17

Re: AlphaLobby Alpha 0.1

Post by Axiomatic »

Next release will autojoin main, and support all the commands springlobby does.

I'm not opposed to adding a chatbox to the server window; but most commands could easily accessible in menus which has better discoverability.
Post Reply

Return to “Lobby Clients & Server”