Author |
Message |
Hakaku Server Help Squatter

Joined: Apr 07 2006 Posts: 299 Location: Canada Offline
|
Posted: Wed Jan 02, 2008 11:00 pm Post subject: PSpace |
 |
|
|
|
Some of you may have seen this, as I posted it on SSforums, but for those who don't check those forums, PSpace is an alternative client to Continuum created by Pyxlz, that is able to connect to unmodified ASSS zones :
Earlier this year I discovered an earlier attempt for a second client made by Pyxlz back in 2005 (here). After looking around for it a bit, I managed to find an old version off SubSpace Downloads (download here). Unfortunately though, the version on there is 0.182, and I know he released a few newer versions afterwards. I still tested the old version, and surprisingly it worked, at least for unmodified ASSS zones. Some things were messed up, and it lacked any frontend, but Pyxlz's client had both chat and graphical interface. I don't know if he ever respected SS protocol, but it's still a step forwards when the client recognizes Continuum players, server messages, map, and all.
I previously asked about this client in another thread, and only got the response "why?" and "it's dead", because he was the only person working on it. Instead, I managed to contact Pyxlz afterwards, and after some e-mails passed, he ended up passing the source. Last he wrote in 2005, he said the client was nearly completed, except he never released a stable build later on. In a more recent e-mail he wrote:
pyxlz wrote: | Ok, here it is in very raw form. You'll probably need to download the DirectX sdk to get it working. I'm not even positive that it compiles in its current state. I'm traveling right now, so I won't have access to my dev box until next week to check all the dependencies. (...) Feel free to look the code and critique as necessary - it was never really designed to be maintained by other people. Let me know what you problems you run into and what suggestions you have. |
In the end, the source (last I checked, it is written in C++ with Opengl and DirectX) is not of much use to me, but I'm hoping it will be for someone else. It's currently set up on SourceForge with Subversion, so knock yourselves out (if you ever manage to compile a stable build, please share the results). :
http://sourceforge.net/projects/pspace/ |
|
Back to top |
|
 |
BDwinsAlt Agurus's Posse

Age:32 Gender: Joined: Jun 16 2003 Posts: 1145 Location: Alabama Offline
|
Posted: Thu Jan 03, 2008 1:55 am Post subject: |
 |
|
|
|
This is exactly what we need to keep the development going. We won't need priitk anymore pretty soon. He could close his directory servers in response or something, but someone like MGB could still host a sscentral.minegoboom,com server.
The project has to be passed on to someone else who has the time for it.
Thanks for caring. Let's get this thing done. |
|
Back to top |
|
 |
Doc Flabby Server Help Squatter

Joined: Feb 26 2006 Posts: 636 Offline
|
Posted: Sat Jan 05, 2008 11:10 am Post subject: |
 |
|
|
|
Interestingly the design network code he is similar (mainly in the packet constructions/deconsturction) to the code i'm using. I would like to add, that as I uploaded the ssAPI before this was released, there was no way either of us could have seen each others code, i just found it amusing  _________________ Rediscover online gaming. Get Subspace | STF The future...prehaps |
|
Back to top |
|
 |
BDwinsAlt Agurus's Posse

Age:32 Gender: Joined: Jun 16 2003 Posts: 1145 Location: Alabama Offline
|
Posted: Sat Jan 05, 2008 3:42 pm Post subject: |
 |
|
|
|
Great minds think alike. |
|
Back to top |
|
 |
Cheese Wow Cheese is so helpful!

Joined: Mar 18 2007 Posts: 1017 Offline
|
Posted: Sun Jan 13, 2008 12:21 am Post subject: |
 |
|
|
|
BDwinsAlt wrote: | This is exactly what we need to keep the development going. We won't need priitk anymore pretty soon. He could close his directory servers in response or something, but someone like MGB could still host a sscentral.minegoboom,com server.
The project has to be passed on to someone else who has the time for it.
Thanks for caring. Let's get this thing done. |
ill party in that boat!
:D _________________ SSC Distension Owner
SSCU Trench Wars Developer |
|
Back to top |
|
 |
doc flabby -working Guest
Offline
|
|
Back to top |
|
 |
Initrd.gz Seasoned Helper
Joined: Sep 18 2008 Posts: 134 Location: Over there ---> Offline
|
Posted: Wed Mar 11, 2009 9:29 pm Post subject: |
 |
|
|
|
Major bump. Probably should have made a new thread  |
|
Back to top |
|
 |
Samapico No, these DO NOT look like penises, ok?

Joined: May 08 2003 Posts: 1252 Offline
|
Posted: Wed Mar 11, 2009 9:33 pm Post subject: |
 |
|
|
|
Initrd.gz wrote: | Major bump. Probably should have made a new thread  | No _________________ (Insert a bunch of dead links here) |
|
Back to top |
|
 |
Hakaku Server Help Squatter

Joined: Apr 07 2006 Posts: 299 Location: Canada Offline
|
Posted: Wed Mar 11, 2009 10:15 pm Post subject: |
 |
|
|
|
If I had the means to compile it I would, but I'm happy that doc flabby could get it done. If anyone cares, even though there's quite a bit of work to be finished in the PSpace client, it has quite a lot of functionality... but one thing that failed me each time was that the chat feature was somehow broken and caused it to crash if you pressed enter.
Anyhow, here's a screenshot of Cheese's zone (hope you don't mind):
^There are things wrong with this, but it's just to show.
 |
|
Back to top |
|
 |
Cheese Wow Cheese is so helpful!

Joined: Mar 18 2007 Posts: 1017 Offline
|
Posted: Thu Mar 12, 2009 2:32 am Post subject: |
 |
|
|
|
glad to help =) |
|
Back to top |
|
 |
doc flabby -working Guest
Offline
|
|
Back to top |
|
 |
Hakaku Server Help Squatter

Joined: Apr 07 2006 Posts: 299 Location: Canada Offline
|
Posted: Thu Mar 12, 2009 11:30 pm Post subject: |
 |
|
|
|
doc flabby -working wrote: | Btw I'm happy to upload all the files and more importantly project files i used to compile PSpace, they might need some tidying though. Let me know if u are interested its about 200MB of files :/
|
Well I thought it would kill my computer installing all of that >< but apparently it managed to survive. Soo... If you could do that that would be great  |
|
Back to top |
|
 |
Cheese Wow Cheese is so helpful!

Joined: Mar 18 2007 Posts: 1017 Offline
|
Posted: Fri Mar 13, 2009 12:01 am Post subject: |
 |
|
|
|
flabby, whats your day job?
same for you, dr b
u ppl code for a living? |
|
Back to top |
|
 |
Samapico No, these DO NOT look like penises, ok?

Joined: May 08 2003 Posts: 1252 Offline
|
Posted: Fri Mar 13, 2009 12:29 am Post subject: |
 |
|
|
|
Cheese wrote: | flabby, whats your day job?
same for you, dr b
u ppl code for a living? | They are working in my basement, tied up to their chair, which is chained to the ground. I hired some immigrants to whip them whenever they stop typing.
I throw a live chicken down there once in a while, and I assume they figure out some way to eat it. |
|
Back to top |
|
 |
Doc Flabby Server Help Squatter

Joined: Feb 26 2006 Posts: 636 Offline
|
Posted: Fri Mar 13, 2009 2:24 pm Post subject: |
 |
|
|
|
Cheese wrote: | flabby, whats your day job?
u ppl code for a living? |
i do code a bit for my job..but its generally boring sql queries and database crap. The stuff related to subspace doesn't really cross-over
As requested
http://subspace2.net/pspace.zip
60MB
I've even helped you out with most of the dependencies and fixed the bug (caused by the use of compiler dependant code) that makes sending messages crash
You will probably need to update the references to DirectX (change the library folder name in the project properties (linker and C++) It only compiles in DEBUG mode as i couldnt be bothered to duplicate all the settings to Release but it wouldnt be a massive task |
|
Back to top |
|
 |
Hakaku Server Help Squatter

Joined: Apr 07 2006 Posts: 299 Location: Canada Offline
|
Posted: Fri Mar 13, 2009 3:57 pm Post subject: |
 |
|
|
|
Thank you Doc, much appreciated ^^
Though I also had to download the glaux library and header file to get it to work (apparently they've been deprecated?). But other than that, it's running well (aside a few of the usual crashes, such as this, besides chat). |
|
Back to top |
|
 |
Hakaku Server Help Squatter

Joined: Apr 07 2006 Posts: 299 Location: Canada Offline
|
Posted: Sun Mar 15, 2009 7:33 pm Post subject: |
 |
|
|
|
Hakaku wrote: | ...a few of the usual crashes, such as this... |
I've been looking through the code for what could possible cause this, a second error given is "Expression: map/set iterator not dereferencable". Basically they occur in either of two situations: one crash occurs when I go upwards about 3/4 to the top of the map, the second occurs when I try to get in a ship (or when someone else changes ship)
I thought the problem might lie in SubspaceMap.cpp or even SubspaceFlash.cpp (seeing how it never occured if a second player went from ship->spec), but I'm not so sure anymore. (I assume it has to do with an iterator somewhere... but the problem is, that there are so many)
Do you think you could shed some light on this Doc Flabby? Also, why did you change the rgba values to rrba?
Edit: After adding about 100 lines of debug, I managed to isolate the shipchange problem (but not the map one) to the following in SubspaceZone.cpp:
template <class ListType>
void SubspaceZone::updateList(ListType& list, double timeStep, ObjectLayerType layer)
{
ListType::iterator i;
ListType::value_type item;
bool doDelete = false;
for(i = list.begin(); i != list.end(); ++i)
{
item = (*i);
if(item)
{
item->update(timeStep);
}
if(!item || item->isGarbage())
{
i = list.erase(i);
--i;
}
if(item->isGarbage())
{
/*if(layer != UnknownLayer)
displayManager_[layer].removeObject(item);*/
delete item;
//item = 0;
}
}
} |
Edit #2: The map bug seems to occur in the following bit of SubspaceMap.cpp:
void SubspaceMap::drawTileMap(const SubspaceTileMap& map) const
{
SubspaceTileMap::const_iterator i, j;
SubspaceTileMap::const_iterator startCol, startRow;
int endRowIndex, endColIndex;
startRow = map.lower_bound(toLinear(drawX_, drawY_));
endRowIndex = toLinear(drawXEnd_, drawYEnd_);
for(j = startRow; (*j).first < endRowIndex && j != map.end(); )
{
startCol = j;
endColIndex = toLinear(drawXEnd_, (*j).second.y_);
for(i = startCol; (*i).first < endColIndex && i != map.end(); ++i)
{
drawTile((*i).second);
}
j = map.lower_bound(toLinear(drawX_, (*j).second.y_+1));
}
} |
|
|
Back to top |
|
 |
Doc Flabby Server Help Squatter

Joined: Feb 26 2006 Posts: 636 Offline
|
Posted: Mon Mar 16, 2009 5:03 pm Post subject: |
 |
|
|
|
Would you be able to post how you got it to load/connect in the first place...ive been unable to get it to load levels or connect to zones  |
|
Back to top |
|
 |
Hakaku Server Help Squatter

Joined: Apr 07 2006 Posts: 299 Location: Canada Offline
|
Posted: Mon Mar 16, 2009 5:29 pm Post subject: |
 |
|
|
|
Doc Flabby wrote: | Would you be able to post how you got it to load/connect in the first place...ive been unable to get it to load levels or connect to zones  |
>< I never thought of that. What does it say when you try to connect?
I haven't been able to get it to connect to an ASSS zone, since it rejects the client over invalid protocol or something, and the offline mode simply doesn't work at all. But I did manage to get it to connect to Cheese's zone, but I had to copy paste the map from Continuum to the zones folder (since it has trouble downloading maps). Otherwise, using LC's AIO Server Kit (Version 4) locally, I could get the client to connect anytime and download the map (though it should be sysop'ed or else it'll eventually get kicked after 2 minutes for map checksum error). I recommend using the ssbiller rather than catid's, since catid's seems to get angry at repeated connections lol.
You might also want to consider making sure that the username & password is valid on the server/biller beforehand. In the configurations file, comment the lvz part, make sure noconnect=0, arena=0, and ship=8. Then fill out the zonedir, port, and ip appropriately. |
|
Back to top |
|
 |
Cheese Wow Cheese is so helpful!

Joined: Mar 18 2007 Posts: 1017 Offline
|
Posted: Mon Mar 16, 2009 10:50 pm Post subject: |
 |
|
|
|
catids prevents ddos type stuff, and has light/heavy flood from single ip before it begins ignoring connections/packets... |
|
Back to top |
|
 |
|