PDA

View Full Version : something i found interesting



nolfwa3000
06-01-2009, 07:22 AM
this is something i found in a search for info on MCO injoy


Comment by Roadrunner (not verified)
Feb 2, 2008 9:33pm

Hey all,
This is something i found it might help its a conversation with dauntless and an ex mco guy.lol{this is long but may be helpful lol.)

They've ran into a major problem regarding the servers and how they work, here is the conversation, i'll let it speak for itself.

pyxishost: Hey hate to disturb you but this is foodstamp from MCO
Anoynomous: whatya want?
pyxishost: And we are trying to emulate a server
Anoynomous: good luck
pyxishost: Is there anyway you can be of help too us ?
Anoynomous: sorry
Anoynomous: no
pyxishost: Very good then. Thanks for your help
Anoynomous: heh - what help? lol
pyxishost: Well
pyxishost: You gave us an answer
pyxishost: Thats helped the myth
Anoynomous: who's 'us'?
pyxishost: of Try Anoynomous he mite be able to answer what kind of applicatios they were using
pyxishost: http://mcomodforums.com/invision
Anoynomous: Custom unix backend with oracle database
Anoynomous: main login server that talks to several racing servers, and the game client
pyxishost: All the info would be discret
Anoynomous: ya sure
pyxishost: Just me would know
pyxishost: Ok
pyxishost: Ill tell you what i done so far
Anoynomous: the above is all I know without looking at the code
pyxishost: I got it ot look for the shardlist
Anoynomous: that part is easy, you gotta dupe a patchserver too
Anoynomous: and create a login framework
pyxishost: Well we bypassed the patchserver
Anoynomous: you'll have to fool the app into knowing its updated then
Anoynomous: with a login server
pyxishost: Already did
Anoynomous: game accepts 128 bit encryption with every message
pyxishost: It goes all teh way to the connecting to ea racing then it dumps out
Anoynomous: thats the login server yes? or have you emulated that?
pyxishost: that is where we are stuck at
Anoynomous: you have to make one
pyxishost: We are dead serious about this
pyxishost: If you want to see how hard we pushed in 4 days
pyxishost: check that link i sent you
pyxishost: Id just use a different name
Anoynomous: hire a unix programmer
pyxishost: How much you want ?
Anoynomous: im not one
Anoynomous: lol
Anoynomous: but to decrypt 128 bit messages and then decrypt them server side is what is needed
Anoynomous: whatever messages the game sends thats what you need to do
Anoynomous: MCO was tighter than a bank
Anoynomous: most banks
pyxishost: ok
pyxishost: http://66.209.134.147/ShardList/ShardList
pyxishost: am i bugging you ?
pyxishost: if so tell me to shut up
pyxishost: But you are like god to us fans
Anoynomous: pfft
Anoynomous: ya right
pyxishost: Serious
Anoynomous: anyhow the shardlist addresses were fetched from the login server
pyxishost: ok
pyxishost: so thats why it keeps getting shardlist not found in my apache log
Anoynomous: ya
Anoynomous: its looking for the return messages
Anoynomous: your login crypto ID
Anoynomous: which is dynamically assignes
Anoynomous: d
Anoynomous: its like a key
Anoynomous: server would ping the client every so often to determine the client validity
pyxishost: ok
Anoynomous: kept people from cheating and avoiding payment
Anoynomous: or using bots
pyxishost: ahh
pyxishost: So you didnt actually progrm it then ?
Anoynomous: nope
pyxishost: I mean it dont matter to me You helped alot already
Anoynomous: 1. Nobody spoofs a race
Anoynomous: 2. nobody runs the game unless they paid
Anoynomous: 3. nobody hacks the mco tracks to put in other apps
Anoynomous: 4. nobody logs into the servers without running the game client
Anoynomous: 5. nobody able to transmit to other clients without the proper keys and encryption that the server knows
Anoynomous: 6. nobody is able to spoof physics or race settings locally
pyxishost: So if we succeed in this you willing to race again ?
Anoynomous: if you succeed it means EA should fire me, oh wait, they did...
pyxishost: lol
pyxishost: I havent bought an ea game since
Anoynomous: I would race again certainly
pyxishost: They pissed a lot of people off
Anoynomous: they pissed off 27,000 people
Anoynomous: a mere drop in EA's blood bucket
pyxishost: Ok in your opinion do you think 2 of these servers would be able to handle MCO
pyxishost: www.calpop.com
pyxishost: the P$ 3.0
pyxishost: p4
Anoynomous: it isnt that simple
Anoynomous: it might do ok for about 200 people
Anoynomous: but all the race servers, login and database would have to be on it also
Anoynomous: which in MCO's case were handled individually
Anoynomous: that P4 machine would be the equivalent of 2-4 race servers
Anoynomous: we had ACL 200's I think
pyxishost: ok
pyxishost: this race server
Anoynomous: with a much bigger login server
pyxishost: Was that a frontend or what did it do
pyxishost: see
pyxishost: What our theory is this
pyxishost: The client was the server and all we did was connect to databases
pyxishost: Is that the truth or a chewed up theory
Anoynomous: not true
Anoynomous: #1 rule in online game development
Anoynomous: NEVER TRUST THE CLIENT
Anoynomous: so
pyxishost: Yes
Anoynomous: everything was server driven
pyxishost: So
Anoynomous: except the graphics
pyxishost: this is pretty much a lost cause with out the race source code then isnt ?
Anoynomous: YES
Anoynomous: it is
Anoynomous: I tell people that all the time
Anoynomous: but no one wants to hear it
Anoynomous: lol
pyxishost: I kept suggesting there was a frontend
pyxishost: Cause I noticed in the exe that there were refs too C:\mcity\folder\folder

nolfwa3000
06-01-2009, 07:22 AM
Anoynomous: all that is likely wrong and residual stuff
Anoynomous: way back before launch you could play mco offline
Anoynomous: with servers run on ones local machine
Anoynomous: but all that code was stripped out before beta
pyxishost: Yeha we were lookin at that option
pyxishost: the earliest we have is public beta 1
Anoynomous: I've tried it on beta 1 - it doesnt work
Anoynomous: are you the guy that was insisting that beta 1 had an offline option?
pyxishost: nope
pyxishost: Im the one that kept saying I need the earliest possibel disc i can get my hands on
pyxishost: and beta 1 is it
pyxishost: Thats the earliest that I can get hole of
pyxishost: hold
Anoynomous: oh well I tried it once for someone who really wanted the disk
Anoynomous: I have one and it doesn't work
pyxishost: which one ?
pyxishost: The beta 1 disc
Anoynomous: if you find someone who has mco installed from beta, but gave up on or around the third beta patch
Anoynomous: and did not get the emergency update 2 days later - you might have something
pyxishost: from beta 1
Anoynomous: i think so, but it was a patch, not a disk
Anoynomous: we accidentally patched the debug game.exe
Anoynomous: then quickly fixed it
pyxishost: hmm
pyxishost: ill post a look out for that
Anoynomous: it was a two day window towards the end of july
pyxishost: ok
pyxishost: posted for them to join me in the mco mod chat :/
pyxishost: Ok are you much at having about an hour a week of freetime ?
pyxishost: Cause my second option was to clone MCO
Anoynomous: re-program it?
pyxishost: Sort of
pyxishost: But
pyxishost: But the options I have are slim and none for it
pyxishost: One would be to try and trouble shoot it which would more then likely take a lifetime +2
pyxishost: Or to start from scratch with a game engine like torque
Anoynomous: I looked at that too
Anoynomous: torque can do games like hot rod
Anoynomous: drag racing
pyxishost: Is there an engine you can reccomend ?
Anoynomous: renderware
Anoynomous: but its 500-750k to license it
Anoynomous: and EA bought them
Anoynomous: lol
pyxishost: argghh
Anoynomous: my advice is to give up on this and take up waterskiing or something
pyxishost: lol
Anoynomous: skydiving
Anoynomous: something like that
pyxishost: Well Im giving up on the MCO origional but not on cloning it
Anoynomous: and while your in the sky or water remember the good times of racing in mco
Anoynomous: oh well ok then
pyxishost: Have you looked at any of the Open sourced engines ?
pyxishost: I know its bad to use
Anoynomous: besides torque? a few
Anoynomous: like unreal, but you cant make a saleable product with it without paying the license fees
Anoynomous: unreal would be tough to use also
Anoynomous: for racing
pyxishost: Yeah
Anoynomous: renderware is the deal
Anoynomous: NFS underground? = renderware
Anoynomous: burnout 3 = renderware
pyxishost: hmm
pyxishost: heeh
pyxishost: hehe
Anoynomous: anyhow - why did you want 1 hr of my time?
pyxishost: Tecnical advice
Anoynomous: not super good for that
Anoynomous: MCO was a long time ago to me
pyxishost: Or whatever you can do
pyxishost: Well im thinkin new game now
pyxishost: Sense MCO is not an option
Anoynomous: independent games are not like independent movies or music to me
Anoynomous: I've been coaxed by this before, and community driven anything never works very well
pyxishost: No this wont be community driven
Anoynomous: people just end up frustrated with half done things
Anoynomous: the HRCO people bug me sometimes
Anoynomous: I tell them to pay me a salary
pyxishost: HRCO ?
Anoynomous: hot rod city online
pyxishost: heh never heard of that
pyxishost: How much for 1 hour a week
Anoynomous: look it up and join them - they are trying to do just what you are talking about
Anoynomous: honestly I wouldnt do it
Anoynomous: the hour a week thing
pyxishost: Well
pyxishost: If you should happen to "run" across anything that could help out in bringing mco back yo can email if you want
pyxishost: but at least you confirmed it did have server side frontend
Anoynomous: well, when you say server side front end it confuses me - but there was a login server, patch server, game servers, and database - oh and the html type server that handled the auctions
Anoynomous: ....auctions, parts catalog, and dealership inventory
Anoynomous: login and patch were separate from midtown, uptown, etc
Anoynomous: I have a saying now with any client server app I work on now
Anoynomous: "at least its not motor city"
pyxishost: ok
Anoynomous: Rocket Science? "it's no motor city
pyxishost: What i mean by server side
pyxishost: is this
pyxishost: you mention the race servers
pyxishost: right ?
Anoynomous: y
pyxishost: ok
pyxishost: now was those race servers a database too or did they have an actual program running them
Anoynomous: program
Anoynomous: unix
pyxishost: ??
pyxishost: ok
pyxishost: let me try this
pyxishost: theres the database right ?
pyxishost: The database is what held the ?
pyxishost: sorry I will pay you for your time of this
Anoynomous: no - the database is separate the race servers (network play system) communicated with the database when it needed too
Anoynomous: there were multiple databases - customer, inventory, and player statistics
pyxishost: right
pyxishost: I seen that in the access database
Anoynomous: databases had custom stored procedures to communicate with the network play system
Anoynomous: server side database was ORACLE
pyxishost: Right
pyxishost: and the OS was Unix ?
Anoynomous: access was client
Anoynomous: yes
Anoynomous: but stored procs were written for unix in c ++ and c sharp
pyxishost: ok
pyxishost: now about the race server
pyxishost: Tryin to figure out how to word this
pyxishost: What was installed on that
Anoynomous: the network play system - a customized application that communicates specifically with the game client
Anoynomous: the whole system was comprised of several servers for the main lobby and race lobbies (bel-air, tri-oval, etc
pyxishost: ok
Anoynomous: using the same application
pyxishost: so we need to emulate that network play system somehow to make this work
Anoynomous: yes - you'd need to re-write it from scratch
Anoynomous: to do that for MCO is like creating a whole new thing
Anoynomous: so you might as well since you don't have the client's source code
Anoynomous: so back to square one of creating a new game
pyxishost: Well
pyxishost: but once again im not that good at understanding that stuff
pyxishost: So in a nutshell
pyxishost: The client holds the secret
Anoynomous: you can't reverse engineer the server code if you only have the client
pyxishost: Yeah I am talkin about the client
pyxishost: See this is what I am askin If we can rewrite the client to connect to something eelse and go from there
Anoynomous: ok
Anoynomous: maybe
pyxishost: Do you think thats possible
pyxishost: ok
Anoynomous: again though, without the server code, you'd have no idea what the client messages are answering
Anoynomous: because the answers are 128 bit encrypted
Anoynomous: and most you wont find because you dont know how to ask it in the right way
Anoynomous: does that make sense?
pyxishost: Yep
Anoynomous: need server code
Anoynomous: lol
pyxishost: Well I promise you this
pyxishost: If we get a game going like MCO again your hired

Tate
06-01-2009, 09:03 AM
I remember reading that right before I found this forum

Tomh
06-02-2009, 03:02 AM
This is the community driven effort that is going to break the rule!

9jgm438i934g8jh5