Faking a server?

Not open for further replies.

Even though with my short experience from this place...

No one seems to answer to my posts


Just curious about if anyone know if there's anyway I can fake a PSO GC server so I can sorta set up a little "LAN" at home...

I know there was something like that that could be done for uploading the pictures you've taken, as the GC version doesn't support online uploading of them (out from what I've heard)

So... Anyone know something?
that would be very cool

bump for a good question

but my intuition tells me there is enough stuff hard-coded into the game that it might be pretty tricky
impossible. there are NO lan features in the game, when connecting online, u automatically connect to sega's servers. the game would naturally crash if it didnt.
Actualy, it shouldn't be too hard...

Only thing is that it's a GC game we're talking about...

Figuring out how it handles stuff is a bit difficult, but can be done...

+There's a lot of games that have had "fake-servers"...

Most of them are PC games... (No game data has been altered, only a special set-up for the "host/server" pc that "deals" the data around and stuff...)

But you can fake a server with console games too!


What's actualy needed is someone who can do a bit more about it than just the "story telling" about it... (that's my job)

Why fake a server?

Well, that gives you a "fake-Lan"

As the game doesn't have LAN support, we'll just have to mess up an alternative

Okay, here's the best sample of WHY you can fake a server (just do a basic comparing)

We all know what an Emulator is, right?

A program (or hardware) that "fakes" something else.

Okay, here's propably THE best example:


fakes a snes. (emulates a snes)

There are add-on chips for the Snes, DSP, C4, SA-1... just to mention a few...

These are also emulated, so you can actualy play games that uses those too...

And IF there is data that PSO (GC) needs from the Sega server (level, quest, whatever..., not speaking of data that another gc has sent)

Here's a sample of how that can be done...

Star Ocean,

Far East of Eden Zero

Street Fighter Alpha/Zero 2

All of these uses special graphics compression chips...

None of the chips are emulated yet,

but all the graphic data have been logged, and runs seperatly...

(The emulator knows that when the game asks for X, it wants X, but since the emu can't fullfill the requirements to give X, the emu must get X from somewhere else)

So... All that's needed to make a fake server is:

1x Computer,

1x router...

1x (or more) persons to make it.

1x (or more) persons to evt. log data from the sega server while playing PSO (GC) (this can be done with a router, or just a split cable... Data tapping

2x (or more) GCs to play (actualy one, but why the HELL would you want to set up a 1player LAN?)

+ some other stuff...

(these are just the "basics")
ur missin the point. the game would have to be reprogrammed to use another server. and this server would have to have a duplicate of the lobby in it, and everything else perfect replicants of the original.
It's a simple task...

The lobby is stored on the GC disc!

(not on the server)

+If it "was" sent from the Sega server, all that was needed to fake that procedure is a simple logging of the data the GC sends and the data it gets back from the Sega Server when requesting the lobby data!

Voila! You got both the correct "question" data from the GC and the correct "respons/answer" data from the Server!

So simple

And the game wouldn't have had to be repogrammed!

Do you reprogram a Snes rom when you're playing it in Zsnes?

Don't you know what "fake" means?

Fake as in something that "pretends"...

Pretends, as in "emulates"

The snes rom doesn't "know" that it's not running from a cartridge on a real system!

That's why someone must make a "fake" server system for making a LAN!

PSO (GC) will never even know that it's not connected to the real sega server...

The thing is, since it's a LAN, the GC will ONLY have access to THAT one specific server, and not the whole damn WWW!

So in other words, there's no other place for the GC to get the Sega server info than from the only available server on the network...

And that's the one server that pretends to be the Sega Server...

It's not like the GC will say, hey, you're not the sega server (it will say so if it's not responding correctly, and that's where the faking comes in)
The thing is:

The sega server is a very simple one...

All that's needed to fake it is someone that's familiar with server stuff...

Someone to compile a emu server.

And a bunch of people to log a bunch of questions/answers to and from the Sega server...

Is it realy THAT hard to understand!?

NOW, GIMME YOUR "POINT" as you seem to be the one with the übermench brain here (judging from your words and way of speaking)

Personaly, I've never been directly working on projects like that myself, but I've observed a lot of different projects, I'm a member of different groups that are working on different projects...

Even if it was so that the game had to be reprogrammed (or specific data would have to be extracted from the DISC)

There's actualy 2 ways to extract data from a GC disc. (and both of them works)

As I don't do any programming or anything like that myself (directly)

I can only explain how it works (theoreticly) and why it will work.

But I can't say how much time a project like that would take or anything...

All I was asking about in the beginning was if someone was making something like what I'm now almost drawing an entire guide to!

(Someone made a little server/proxy thingy that enables you to get your snapshots from the GC version uploaded, as the GC has no way to export those pictures, and that is what I'd like to call a start..., but since it's not faking the sega server, but uses the web browser PSO has... We're still actualy stuck at the start)

I dunno what you mean with that...

But waffles would taste good right now...

Anyway, I'll try to explain everything short now, to sorta kill every misunderstanding and screw-up...

When you connect to a network like the sega network.

The server and the machine will start to exchange data.

The machine must in some cases "identify" the server, to make sure it's the correct one.

This is often done by an quick IP, name or license check.

Some people only have one phone line in their house.

That line is often connected through the computer.

So, if this person is gonna play online with his console he can:

1: Disconnect the computer and hook up the console

2: Hook up the console in the extra phone-out plug on the modem the computer use.

This makes the connection go through the computer.

All the data that is sent between the server and console must go through the computer.

The computer will always know that there's data going through it.

This data can be logged.

So when the console sends its own ID to the server, we get to know what that "ID" data is.

When the server responds to this ID request, the data from the server goes through the computer, we now know what the correct respond for this request is.

Same can be done for all data that is exchanged between the 2 systems.

So... By collecting these and parting them into 2 different logs.

1: Having the servers responds

2: Having the consoles requests

(and evt. a 3rd and 4th having the servers requests and consoles responds)

By using this, we now know what goes in and out.

What triggers what respond and stuff...

And I guess the Sega server isn't more complicated than...

Let's take Battle.net (which is a good server/common server, which has been faked by many back in the beta tests of Diablo 2 and Warcraft 3) because of the fact that the Betas where blocked after X amount of time)


We now know how the two communicate...

Now, here comes the tricky part.

A computer must be set-up to act as a server.

This computer must have the possibility to have several consoles hooked up to it (atleast 2)

as mentioned in an earlier post, it must work with 2 consoles, atleast...

In the beginning, it should be tested with one (as there is no current guarantee that it will work with 2 or more)

The computer (fake-server) will identify the signal the console sends, and will immidiatly find the correct respond for that signal.

And you don't need to collect a "huge" archive of every single movement data signal and stuff..

Stuff like that usualy follows a pattern, and programming something that knows how to work out a pattern is not the biggest task in the world.

Guess this should cover it all...

Now, let's have a party, as I've propably been able to explain it correctly/simple to you guys

If what I've heard is correct, it is not necessary to physically connect the console through the computer. The PSO clients apparently do not hardcode the server IP addresses, so it should be possible (by configuring the connection to use a suitably altered DNS server) to redirect them to a proxy server which need not even be on the same continent.
Also, I doubt that all gameplay traffic goes through the server, it's probably more like Blizzard's battle.net where the server is mostly a matching service...

edit: hmm... somehow I completely missed your mention of battle.net... guess we're thinking roughly the same thing...
In both cases it could happen -

1 - Non-Hard coded - You could ( like EX said ) , alter your DNS's registered address to point to a specific server ...

2 - Hard Coded - You could create a routing table that states

( sega real servers - 204.144.100.xxx )

( fake servers - 10.1.1.xxx )

All traffic leaving your network w/ a destination to the 204 network be routed to the 10 network; then you could spoof internally the addresses, or change the hostnames ...

Not sure how the PSO servers work, but I'd do this if I was going to set up a " faker "
Yeah, I'm not saying you can't do something like that, but a DNS+proxy setup would allow any internet-connected DC to connect through the test server without having to run through a packet filter.
Yes, DNS+Proxy would work fine ( but would add some overhead that you would never notice at all )

At least by routing at layer 3, once the route is set, all incoming devices to that network could work ... Using a proxy would also require each user to connect and be configured for the proxy...

6 or 1/2 dozen .. pick :cheers

Anyone know someone that actualy has the abilities, knowledge and technology to complete such a project? (Oh, not to be forgotten : The interest to make such a tool)
Not open for further replies.