Quote:
Originally Posted by Zeroxelli
Hopefully I'll be able to find out what's wrong with it. I'll need to take a closer look at the Albetros source so I actually know where things are first.
How's the timestamp calculated though? Is it a date/time field type in the database, or is it some kind of timestamp created in the server? For all my timestamps I use the Microtime function that I posted earlier.
|
Timestamps used for character logins are assigned based on a unix timestamp. If you were authorized more than say 10 seconds before you try to log into the game server then it's not a legitimate connection. It also checks versus a login key to ensure that you are not just hammering the game server to hijack someone's connection attempts and steal their account.
It's not the best system and it went through a bunch of versions and half the data in the source atm is incorrect.
As for the questions the OP had...
#1: Disconnecting when you first open the client. Someone told me it's an issue with the client version. I tested a number of minor changes to see if we could see a cause but it seems to be the client itself just not connecting when it receives the auth response packet. I can't offer much help here as I haven't really looked at it since
#2: Disconnecting during character creation. Another strange issue we were having... We used the exact same packet sequences as other sources where full character login was working yet it was causing issues! We tried a number of versions and there were always problems with it (some minor, some serious). As a result we decided we simply didn't care and just disconnected when they created a character. TBH I still don't consider it an issue. Clicking login 1 more time after creating is not exactly game breaking ahha
#3: Exp rates: These are all controlled from inside the source, try searching through it some. Probably in Kernel.cs but not really sure. There's Leveling rates, prof and skill rates all in there. All drops are controlled further into the source though.
#4: Shop stalls: I logged all these sobs/npcs from tq official servers. As a result, there's some where people were sitting at the time. Just edit the database some so they are the correct mesh/flag and you'll solve the problem.
As for other bugs in the source, there's plenty. It was a test source for the most part and a bunch of the things we were testing out were never finished or in the slightest bit efficient (EG: the delayed action queue system. So many timers!) I'd suggest writing a custom source but I know very few people are willing to put in the work. As such I'd still say albetros is a reasonable base for learning and building a basic server off of.