• Unfortunately, we have experienced significant hard drive damage that requires urgent maintenance and rebuilding. The forum will be a state of read only until we install our new drives and rebuild all the configurations needed. Please follow our Facebook page for updates, we will be back up shortly! (The forum could go offline at any given time due to the nature of the failed drives whilst awaiting the upgrades.) When you see an Incapsula error, you know we are in the process of migration.

APB Emulator 2013 Files

Status
Not open for further replies.
Newbie Spellweaver
Joined
Oct 11, 2013
Messages
34
Reaction score
24
Hi guys, :blushing:

i found some APB files and wanted to share them here.

Emulator Files + Source + Database : Here.

Client : Here. ( It is a magnet link )

Update : Client download Mega.co.nz

Part 1 :
https://mega.co.nz/#!1lNiDSRL!AI8feH...9SgQvVvdfHURNA
MD5 : 5003f343878e5dad0de375e53fa53e81

Part 2 :
https://mega.co.nz/#!9lMi0KgJ!Ddi-0h...QQP8UG4vWk4bow
MD5 : 4616135568a0a8a2d2571e0a65e78443

Part 3 :
https://mega.co.nz/#!s5sV3SjD!EVAvXD...RX-65m9Y7xusG8
MD5 : ee5890ecd098dbe5ef5abb0a180cb472

Part 4 :
https://mega.co.nz/#!w5sWEJbK!QyyqOC...avbcf5QT-iZMSg
MD5 : 87731814f454d9060819f4fa41ba6b3a

Part 5 :
https://mega.co.nz/#!0wkARDDC!S786Jx...522_kKWRSugZ10
MD5 : 499a9e66a8cdec45d567d177a6a3b355

Part 6 :
https://mega.co.nz/#!0o91wLgB!UJR9pk...jN7l8UKFTDhuU8
MD5 : 50834a5d8247df0e6da3bf862230d71b

you can just copy that link :


magnet:?xt=urn:btih:9A11EAF893705945F064C85CC2B378DF9A262DD7&dn=APB%20RePack%202010.iso&tr=http%3a//freetorrents.org.ua%3a2710/announce

and paste it in your URL.

ill give some info about that emulator :



  • There are total of 2 DLLs included in the source on Assembla - FrameWork.dll and MySQL.Data.dll
  • When you compile project, place "DistrictServer.exe", "WorldServer.exe" and "LobbyServer.exe" with those 2 DLLs inside "APB SERVER" folder to have everything good and set up
  • You need to forward ports 2101, 2106, 2108 and 1031
  • You'll need MySQL database named "apbdb" and application like WAMP or XAMP (copy/paste content of "apb.sql" and execute it through phpMyAdmin)
  • All 3 servers will have some stuff displayed in French, this is due to "FrameWork.dll" being written by a French developer who lost the source code (lol)
  • I made District Servers to work as dedicated servers - players can start their own district instance(s)
  • You'll notice those "<Password></Password>" thingies in lobby and world server configurations - leave them as they are
  • Player passwords are not hashed (should be implemented soon)

100% fully Working thing's

  • Logging in with username/email and password
  • Creating/deleting characters
  • Entering world server
  • Displaying list of available district instances
  • Adding/removing friends (needs database saving)
  • Adding/removing people from ignore list (needs database saving)
  • Searching for players through "Search" tab a.k.a character finder
  • Looking For Group status changing
  • Base code for group invite system
  • Base code for /w(hisper) chat done (message is displayed, name is in weird characters
  • Base code for distict entering (brings you to "Connecting to District Server...")
  • Base code for mail system
  • Base code for group system
  • Logging out
  • Client status updating (in "clientstatus" table in database - displays player's online status, district, LFG status, etc.)
  • Base for district reserving (random district joining through "Districts" tab)

thing's that need some work on

  • Lobby/Login Server is 95% done (parts that aren't done can be seen in "LobbyServer/TCP/Opcodes.cs" - also, those parts aren't too much important, server will work fine without them too)
  • World Server is nowhere near done (around 10% done) - see "WorldServer/TCP/Opcodes.cs".
  • District Server has just base code done, and base communicating with World Server - all opcodes are discovered, I just need to get their proper "addresses" (like in other 2 servers) + create UE3 server backend (killing, moving, etc.)

if you find that topic good please like.
:thumbup:
 
Last edited:
Newbie Spellweaver
Joined
Oct 27, 2013
Messages
30
Reaction score
4
Last edited:
Newbie Spellweaver
Joined
Jun 9, 2012
Messages
53
Reaction score
90
I've worked on APB. You will never have an APB emulator for a lot of reasons.

Okay, we'll see.

EDIT:

Here's the progress so far (quote taken from UC).
fiki574 said:
New talk session with Domo. Some info:

- New developers are joining - trusted ones, will help a lot if Domo ain't able due to his other projects
- APB (Map) Editor is almost done - unstable at this point
- Script compiler is also almost done - needs some final tweaks
- New client hook nearly done - also needs some polishing
- Complete rewriting of server in C++ - yet to be done
 
Newbie Spellweaver
Joined
Jun 9, 2012
Messages
53
Reaction score
90
Huge-butt update, dayuuum!

Revision 111 (server-only changelog):
  • Added world server list to login server base code - used in communication between login server and world server(s)
  • Added check in world registering code to determine whether there already exists a world server with provided ID or no
  • Added client status reset when selecting a character in selection screen - fixes occurences where DB table wouldn't be properly destroyed
  • Added "/clients" console command to both login and world server - see some info about every client connected to each server
  • Added "/worlds" console command to login server - see total amount of world servers connected to main/login server
  • Added "/clear console" console command to both login and world server - make those spammy logs go away
  • Updated lobby client code - added proper variable resetting which will now prevent data collision
  • Updated account code - fixed a MySQL error occurence
  • Updated login algorithm code - fixed SRP6a bug which disallowed any account logins and completely broke the whole login server functionality
  • Updated login proof - new code which fits the corresponding SPR6a bug fix
  • Updated friend/ignore list opcodes - fixed account ID colliding which would result in wrong error
  • Updated district registering code - removed some unused variables and data
  • Updated world server base code - added world ID variable which is retrieved through world server config file
  • Updated world registering code - now reads world ID from config file instead of database
  • Updated listener code in login server - on connect world gets stored with it's ID, on disonnect it gets removed from worlds list
  • Updated district reserve opcodes - now properly checks which district has been choosen
  • Updated "apb.sql"
  • Updated login server solution file
  • Removed LobbyServer.Database.World.cs - no longer needed
  • Removed "worlds" table creation from login server code
 
Newbie Spellweaver
Joined
Jun 9, 2012
Messages
53
Reaction score
90
Revision 112 changelog:
  • Added new network code for client and client server - threaded, better performance, packets feature, etc.
  • Added MySQL reference files - later used for DB check
  • Updated login dialog code - now saving is true by default
  • Updated main include file - removed unused stuff
  • Updated client server project file, client DLL solution file, and emulator solution file
  • Removed old network code from both client and client server

Update doesn't seem big, but trust me - it is. The new network code works perfect and allows us much more flexibility in client<->server communication. Next up on todo list is (finally) actual authentication with DB which is completely server-sided (due to possible data breach if client sided), correct build retrieving in client code (at this moment, I just manual type build, but later it'll be retrieved from "buildnumber.h") and proper injection code detection (detect MySQL injections).

Stay tuned for more updates! :)

P.S. Some pics maybe later.
 
Newbie Spellweaver
Joined
Jun 9, 2012
Messages
53
Reaction score
90
Pics!

Server and client:
BlueType - APB Emulator 2013 Files - RaGEZONE Forums


Server offline:
BlueType - APB Emulator 2013 Files - RaGEZONE Forums

BlueType - APB Emulator 2013 Files - RaGEZONE Forums


Wrong client version:
BlueType - APB Emulator 2013 Files - RaGEZONE Forums

BlueType - APB Emulator 2013 Files - RaGEZONE Forums
 
Newbie Spellweaver
Joined
Jun 9, 2012
Messages
53
Reaction score
90
This is a post that contains some info you need to know about this project. Lets get started!

------

I'm still waiting for Domo's reply, though haven't sent him message in past few days. Since I'm the only one developing this emulator at this moment, updates can come fast, or slow... very slow. Now, taking in account that this game is not an easy one to emulate, it will take a quite some time to finish this project finally. I know you've been waiting for something like this for years, and now that 2 years passed since this project has been founded, I feel very disappointed with myself about inability to provide you guys an alternate way of playing this awesome game. Things will change, yes, but I'm not able to hold this project on my own. It would be a lot easier with Domo, but he's busy now most likely. The concept of which this emulator would work is very simple - everything is completely free. No P2W (as you guys like to call them) weapons, no exclusive premium-members-only item (this game doesn't even have premium, to be exact), and possibly - no legal issues. The feature that would also be provided is own district instances hosting, but that would, of course, be available to only a small group of players who would need to have either powerfull PC or spare VPS and such. Next thing to deal with are cheaters. Since this is cheating forum, won't be posting much info regarding this, but be sure there will be an anticheat when and IF this emulator gets released. I will continue to work on this emulator as much as I can. I still have some other projects in my mind which I'm also working on, but that really shouldn't slow me down too much. That would be it, update time!

-----

Revision 113 (client + server):
  • Added proper client DLL retrieving of current client build -> sending it to client server where our build check gets performed
  • Updated client server project file -> some changes to properties, where the project creates and such
  • Updated login code -> re-added code for client disconnect on error
  • Removed 'extrn_login' value reset from login server -> later on will be added to main client server

Update is small, but better something then nothing.

-----

Next thing I am going to work on is actual authorization on both client and server side. Things will get complicated due to me having to change how SRP6a works since I'm going to implement a password hashing which changes few things a lot. That said, when I finish the authorization, I can dedicate myself to researching the game and such.

At some time ago, Domo claimed he has a working map editor, as well as a script compiler. This would allow us to make core game changes and add new items and features. BUT, since we would be touching/modifying game files, legal issues could knock on our door. This is still not confirmed by either side (me and/or Domo). At some point in future, we may re-write complete emulator in C++, but that's also not confirmed. New developers will be more than welcome to join us and help us out. Client DLL / Emulator code tweaking, fixing, updating and polishing will be present as long as this project runs. If this project fails again though, files may get released somewhere on the Internet.

I hope you guys understood what I just wrote in here, and I really hope I still got your support. I'm sorry for any inconvinience, though!

-----

Best regards,
Fiki!


(taken from UnkownCheats forum post, don't mind the 'cheaters' thing I mention)
 
Newbie Spellweaver
Joined
Jun 9, 2012
Messages
53
Reaction score
90
Revision 114 (server + client changes):
  • Added missing "ANS_GROUP_JOIN.cs" file to world server
  • Added custom logger code to client server
  • Added base code for authorization -> next step is actual authorization
  • Updated location of "build.cfg" -> moved to folder with all other server configuration files
  • Updated network code in client DLL and client server
 
Newbie Spellweaver
Joined
Jun 9, 2012
Messages
53
Reaction score
90
keep up with the good work man, hope some days we can try it out. how much (memory) aka RAM is needed to test? im current have 8GB mostly uses for PC gaming.

Game itself is around 10gigs, but I think around 4GB RAM should be more than fine.
 
Newbie Spellweaver
Joined
Jun 9, 2012
Messages
53
Reaction score
90
Here's new update! Some details and explanations can be found below.

Revision 115 (server + client changelog):
  • Added token creating when logging in for first time
  • Added WriteChar function to client network code
  • Updated few important packet codes which were missing
  • Updated "apb.sql" DB file
  • Removed socket patching from client DLL
  • Removed "ANS_GROUP_JOIN" packet code from client packets folder
  • Removed login UI completely from client code
  • Removed timer check from base code of client DLL

You may wonder why remove external login and add a "token" feature? What is "token" anyways?

Well, as I was not too comfortable with storing username and password in plain text in user's game directory, I decided to make a drastic change. Instead of doing this extremely stupid way of storing user's info, I added a feature called "token". Token is basically an 8 character long number which is used to identify users. Each account gets it's own token when logging in for first time (this will be changed in future, users will get tokens and token files when registering from site). With this token, users don't have to login twice, plus they don't risk their account's info be stolen because it was stored in a simple, plain text. How it works? User registers, gets unique token, copies that token into "token.id" file or downloads it directly from site (later on), pastes "token.id" file to directory where user has our custom DLL and actual game, starts the game. When the game is started, it connects to main (client) server. Client server then checks if token is valid and updates info in database using the exact same token. This way, even if your token gets stolen, nobody can enter your account without knowing your password, which is then completely another story. Also, token provides hosting privilegs. There's a row in a DB named "canhost" which is used for hosting your own district servers. Well, how does this work? Lets say you decide to host a district. You again need a token which is connected to your account. You paste the "token.id" file where district server executable is and start the server. District server then checks if token is valid and checks if your account can host district instances. If both are valid/yes, then you're ready to host your own server.

Next on TODO list:
  • Authorization by token
  • Check if "token.id" file actually exists, if not don't allow user to enter game
  • Password hashing (mentioned before)
  • District server hosting privilege and token check

I hope to get this TODO list done in 2-3 days (or even tomorrow lol), so I can go on with more important stuff for this project. :)

P.S. Some pics coming tomorrow or in few days when I finish mentioned stuff
 
Newbie Spellweaver
Joined
Jun 9, 2012
Messages
53
Reaction score
90
Revision 116 (client + server changes):
  • Added check to client DLL if token file exists
  • Added authorization system by token
  • Added Auth class with MySQL reference(s)

TODO:
  • Fix occurence where invalid tokens aren't detected as invalid
  • Password hashing
  • District server hosting system + token check

Pics:
Client successfully connects to main server:
BlueType - APB Emulator 2013 Files - RaGEZONE Forums


Client disconnects from main server:
BlueType - APB Emulator 2013 Files - RaGEZONE Forums


Error when token file is missing:
BlueType - APB Emulator 2013 Files - RaGEZONE Forums


Token file location in game folder:
BlueType - APB Emulator 2013 Files - RaGEZONE Forums
 
Joined
Feb 28, 2012
Messages
738
Reaction score
65
Wow, the token system seems impressive!
That's a really smart way to prevent account theft.
Now, how exactly would this district hosting work, that part really confuses me.
Besides that, awesome dev!
 
Newbie Spellweaver
Joined
Jun 9, 2012
Messages
53
Reaction score
90
Wow, the token system seems impressive!
That's a really smart way to prevent account theft.
Now, how exactly would this district hosting work, that part really confuses me.
Besides that, awesome dev!

Well, district hosting would work on similiar principle as authorization. You would put district server executable in same folder as "token.id" file and district server would then check in database if token is valid, and if token is valid, it then checks if your account has hosting privileges. If it does, you're able to host a district, if it doesn't you're not able to host a district. Simple :)
 
Joined
Feb 28, 2012
Messages
738
Reaction score
65
Well, district hosting would work on similiar principle as authorization. You would put district server executable in same folder as "token.id" file and district server would then check in database if token is valid, and if token is valid, it then checks if your account has hosting privileges. If it does, you're able to host a district, if it doesn't you're not able to host a district. Simple :)

Oh, just a plain exe and auth,alright.
thanks!
 
Newbie Spellweaver
Joined
Jun 9, 2012
Messages
53
Reaction score
90
Revision 117 changelog:
  • Added "VOICE_CHANNEL_INFO" opcode to world server - used in Vivox voice service
  • Added "FRIENDLIST_STATUS" opcode to world server - used in friend list displaying
  • Added "CHAT_SYSTEM" opcode to world server - used in server messages
  • Added commented code to "ANS_FRIENDLIST_STATE" - needs to be properly implemented
  • Updated "DISTRICT_LIST" opcode in world server - now properly counts total amount of districts
  • Updated whisper chat opcodes - still not working, is pretty complex :/

This update is purely done out of boredom. I'm still tending to do some work on it before deciding to either release this or complete forget about it.

TODO:
  • Add district hosting privilege check
  • Fix "PerformLogin" and "PerformLogout" auth problem - not returning correct error on fail
 
Newbie Spellweaver
Joined
Jun 9, 2012
Messages
53
Reaction score
90
Revision 118:
  • Added token check when hosting a district server - if your token is invalid or you don't have hosting privilege, you're not able to host your own district instance
  • Added "/districts" command to world server - see info about all connected district servers
  • Added 2 network communication files to district server ("IPacket.cs", "Packet.cs") - used in communication in between the two
  • Added new network packet to both world and district server ("DBInfo.cs") - with this packet district server retrieves info about database
  • Added "WriteS" function to world server communication network code ("Packet.cs")
  • Added database connection file to district server ("Connection.cs") - used in token checking
  • Updated few files to fit new network update
  • Scrapped group system code to base ("Group.cs") - has to be rewritten later on
  • Removed unused WS->DS packet ("RegisterSuccess.cs")
  • Removed all references of projects to one another - district server no longer depends on world server, world server no longer depends on login server

The token check and whole token system is now working properly, how it was meant to be. Next up, fix the problem with client DLL and database checking involving token as well.
 
Newbie Spellweaver
Joined
Jun 9, 2012
Messages
53
Reaction score
90
New developer joined! Finally someone who speaks proper English and understands network protocols, packets and UE3 games!

Welcome coldreader. (Project continued!)
 
Status
Not open for further replies.
Back
Top