Salutations
I was pretty happy to see that there's another PSO server out there, particularly one for *nix. I'm interested in trying to host a server, for personal use more than anything (My friends with PSO don't have BBAs, so if we play, it's splitscreen), and I have some questions.
1) In regards to the save and restore commands, I could be wrong, but I think Schthack had something similar that only worked on DreamCast and PC. Could the one on Sylverant be expected to work with PSO GC? And, the million-dollar question (For me, at least) is whether or not it works cross-region, so I can move a US-region character to my JP-region memory card. That's the main reason I'd want to have my own server, actually; Moving characters between my US memory card for splitscreen with my friends, and moving them back to play on my Q (Which is horribly underplayed). If we aren't sure, I could probably find a spare couple of memory cards and try it out.
2) I didn't see anything specifically relating to this, but could I configure Sylverant to have an option to forward to another server such as Schthack or the official Sylverant server? This is more of a convenience thing than anything. I could always forward to either manually, but this would be a lot easier.
3) I know I'm probably the only one who's ever asked this, and might be the only one who ever will, but how much work would one need to do in order to compile Sylverant on a SPARC machine running Solaris 10?
Just a few questions from a newbie.
Moderators: BlueCrab, Aleron Ives
-
- DCEmu Newbie
- Posts: 2
- https://www.artistsworkshop.eu/meble-kuchenne-na-wymiar-warszawa-gdzie-zamowic/
- Joined: Fri Mar 11, 2011 12:35 pm
- Has thanked: 0
- Been thanked: 0
- BlueCrab
- The Crabby Overlord
- Posts: 5659
- Joined: Mon May 27, 2002 11:31 am
- Location: Sailing the Skies of Arcadia
- Has thanked: 9 times
- Been thanked: 69 times
- Contact:
Re: Just a few questions from a newbie.
In theory it should work on PSOGC. The only requirement for /save and /restore is that the user have the same guildcard number (so you need to use the same SN/AK to make it work, really). I dunno if the US and JP versions of PSOGC will let you do that or not. You could, of course, modify this if you were just running a server for yourself. It should be pretty easy to figure out how to do so in the code, as the code itself isn't all that complex (you'd be looking for stuff in shipgate and ship_server, you can ignore the other parts for /save and /restore functionality).XS-Nitrogen wrote:Salutations
I was pretty happy to see that there's another PSO server out there, particularly one for *nix. I'm interested in trying to host a server, for personal use more than anything (My friends with PSO don't have BBAs, so if we play, it's splitscreen), and I have some questions.
1) In regards to the save and restore commands, I could be wrong, but I think Schthack had something similar that only worked on DreamCast and PC. Could the one on Sylverant be expected to work with PSO GC? And, the million-dollar question (For me, at least) is whether or not it works cross-region, so I can move a US-region character to my JP-region memory card. That's the main reason I'd want to have my own server, actually; Moving characters between my US memory card for splitscreen with my friends, and moving them back to play on my Q (Which is horribly underplayed). If we aren't sure, I could probably find a spare couple of memory cards and try it out.
It is possible, but it causes many problems, and I don't recommend trying it. Actually, really I never released the code to do that, mainly because it can cause corruption of character data.2) I didn't see anything specifically relating to this, but could I configure Sylverant to have an option to forward to another server such as Schthack or the official Sylverant server? This is more of a convenience thing than anything. I could always forward to either manually, but this would be a lot easier.
SPARC is big-endian, correct? I wouldn't necessarily count on everything working properly on a big-endian machine, as I haven't tested thoroughly on one in a long while. I know that it should work well enough to get a basic game going, but I haven't done anything beyond that on a Big Endian machine in a while (my initial testing was on a PowerPC G4 Mac Mini running Mac OS X 10.4, by the way... so it did work on big endian machines for a while).3) I know I'm probably the only one who's ever asked this, and might be the only one who ever will, but how much work would one need to do in order to compile Sylverant on a SPARC machine running Solaris 10?
The prerequisites aren't terribly hard to deal with (MySQL, libxml2, and libcrypto from OpenSSL) and they should all be readily available for just about everything. Note, though, that I don't really support running the full server, especially not on such a strange platform to me (since I quite obviously don't have a SPARC running Solaris 10, and I don't even have the time to work on the code much lately). Now, I really only test things on the main Sylverant server, which runs FreeBSD 8.x on x86-64. Also, most of the server configuration except for ship_server is horribly outdated (partially because I hate writing documentation anyway). The stuff for PSOGC can be especially annoying to deal with, since there's a lot more database work required for it than PSODC, and I've not really done any work on making the stuff easier to deal with... Basically, I wasn't really thinking anyone would want to run Sylverant other than me when I was writing it, so I kinda haphazardly put things together.
If you do manage to get it running, let me know any modifications you had to make. I ask though that people don't make a bunch of small public servers, since that only tends to fragment the community more than it already is. That's really one of the things that I fought with myself over when I was setting up my server for Sylverant. That's why I was happy to have support from the two communities that essentially merged themselves with Sylverant in the end (DC-Talk, who already ran their own server (they ran Sylverant for a while before I even knew they were doing so), and PSO Palace (which didn't have their own server before hand)). I really don't like fragmenting people up any more than they already are, since that to me makes the game less fun...
-
- DCEmu Newbie
- Posts: 2
- Joined: Fri Mar 11, 2011 12:35 pm
- Has thanked: 0
- Been thanked: 0
Re: Just a few questions from a newbie.
Thanks for the quick reply, BlueCrab. I appreciate it.
Either way, I'll give it a shot on a "stock" Sylverant first, as (I hate to say it) I haven't done a lot of programming lately and I may be in over my head with this.
I promise that I won't try to set up yet another public server I certainly think there should be options, but between DCtalk and Schthack I think we already have that. If anything, my server would just be for me and my friends if they ever decide they want BBAs, and for my own cross-region stuff like moving items between characters and (If it works) moving characters between memory cards. Maybe download quests. The reason I want to try to do it on my SPARC box is just something to get myself back into programming, and hopefully learn something in the process.
When you say I could modify it, you mean I could force a save/restore through the server if it doesn't work normally? Skip whatever region check may exist, or something to that effect? I'm not at all familiar with how PSO handles it's save data, aside from that I expect it checks a memory card ID of some sort, assigned at the time the card's formatted, to prevent it from being copied easily - Moving a save file to another memory card, or to the same card after a memory card format, causes PSO to say that the data is corrupt, so I think that's what it's trying to do. Restoring an older save file over one on the same card works fine.BlueCrab wrote:In theory it should work on PSOGC. The only requirement for /save and /restore is that the user have the same guildcard number (so you need to use the same SN/AK to make it work, really). I dunno if the US and JP versions of PSOGC will let you do that or not. You could, of course, modify this if you were just running a server for yourself. It should be pretty easy to figure out how to do so in the code, as the code itself isn't all that complex (you'd be looking for stuff in shipgate and ship_server, you can ignore the other parts for /save and /restore functionality).
Either way, I'll give it a shot on a "stock" Sylverant first, as (I hate to say it) I haven't done a lot of programming lately and I may be in over my head with this.
Alright. Fuzziqer's original server had that problem too, but I figured I'd ask. I don't know about newserv - I never tried that one.It is possible, but it causes many problems, and I don't recommend trying it. Actually, really I never released the code to do that, mainly because it can cause corruption of character data.
Yeah, SPARC is big-endian. I wouldn't be surprised if it gives me problems trying to compile, but I'll give it a shot.SPARC is big-endian, correct? I wouldn't necessarily count on everything working properly on a big-endian machine, as I haven't tested thoroughly on one in a long while. I know that it should work well enough to get a basic game going, but I haven't done anything beyond that on a Big Endian machine in a while (my initial testing was on a PowerPC G4 Mac Mini running Mac OS X 10.4, by the way... so it did work on big endian machines for a while).
The prerequisites aren't terribly hard to deal with (MySQL, libxml2, and libcrypto from OpenSSL) and they should all be readily available for just about everything. Note, though, that I don't really support running the full server, especially not on such a strange platform to me (since I quite obviously don't have a SPARC running Solaris 10, and I don't even have the time to work on the code much lately). Now, I really only test things on the main Sylverant server, which runs FreeBSD 8.x on x86-64. Also, most of the server configuration except for ship_server is horribly outdated (partially because I hate writing documentation anyway). The stuff for PSOGC can be especially annoying to deal with, since there's a lot more database work required for it than PSODC, and I've not really done any work on making the stuff easier to deal with... Basically, I wasn't really thinking anyone would want to run Sylverant other than me when I was writing it, so I kinda haphazardly put things together.
If you do manage to get it running, let me know any modifications you had to make. I ask though that people don't make a bunch of small public servers, since that only tends to fragment the community more than it already is. That's really one of the things that I fought with myself over when I was setting up my server for Sylverant. That's why I was happy to have support from the two communities that essentially merged themselves with Sylverant in the end (DC-Talk, who already ran their own server (they ran Sylverant for a while before I even knew they were doing so), and PSO Palace (which didn't have their own server before hand)). I really don't like fragmenting people up any more than they already are, since that to me makes the game less fun...
I promise that I won't try to set up yet another public server I certainly think there should be options, but between DCtalk and Schthack I think we already have that. If anything, my server would just be for me and my friends if they ever decide they want BBAs, and for my own cross-region stuff like moving items between characters and (If it works) moving characters between memory cards. Maybe download quests. The reason I want to try to do it on my SPARC box is just something to get myself back into programming, and hopefully learn something in the process.
- BlueCrab
- The Crabby Overlord
- Posts: 5659
- Joined: Mon May 27, 2002 11:31 am
- Location: Sailing the Skies of Arcadia
- Has thanked: 9 times
- Been thanked: 69 times
- Contact:
Re: Just a few questions from a newbie.
No problem.XS-Nitrogen wrote:Thanks for the quick reply, BlueCrab. I appreciate it.
Essentially, all I'm saying is that if you're going to be the only person ever running it, you can short-circuit some of the stuff to force it to work for you. The way it works currently is that /save is associated with your guildcard number and a slot number. Each guildcard is allowed to have 4 slots by the code (although there's no real reason for 4, I just figured it would be enough). When you restore, you give it a slot, and it pulls the guildcard number from your client structure on the server. Essentially, if you just hard-coded in a guildcard number in the code for the save/restore, you could make it so it doesn't do that check, allowing you to restore a character that isn't given with the same serial number/access key pair.When you say I could modify it, you mean I could force a save/restore through the server if it doesn't work normally? Skip whatever region check may exist, or something to that effect? I'm not at all familiar with how PSO handles it's save data, aside from that I expect it checks a memory card ID of some sort, assigned at the time the card's formatted, to prevent it from being copied easily - Moving a save file to another memory card, or to the same card after a memory card format, causes PSO to say that the data is corrupt, so I think that's what it's trying to do. Restoring an older save file over one on the same card works fine.
Either way, I'll give it a shot on a "stock" Sylverant first, as (I hate to say it) I haven't done a lot of programming lately and I may be in over my head with this.
Also, you could just have it hard-code the guildcard number given out on the login server, and that should work just as well (although player tracking features and such won't work then, unless the hard-coded value is what it would actually give you... not that this matters when you're dealing with a single client ever being on).
Its more to do with the fact that schtserv and sylverant most likely won't agree on your guildcard number. The game gets very confused if your guildcard number changes after its been given to you the first time on a connection (it doesn't care if it changes between connections though). So, if you go the hard-coded guildcard in login server route, make sure you hard code it everywhere in login server.Alright. Fuzziqer's original server had that problem too, but I figured I'd ask. I don't know about newserv - I never tried that one.
The big-endianness won't cause any compilation errors, for certain. Oh, one thing I didn't mention is that I use some GCC-isms in the code like __attribute__((packed)), so it probably won't compile with anything other than GCC or Clang at the moment.Yeah, SPARC is big-endian. I wouldn't be surprised if it gives me problems trying to compile, but I'll give it a shot.
Keep in mind that DC-Talk's server and mine are one and the same now (although, they still host their ship off my server machine -- they do connect to my shipgate though). I recommend that if you and your friends all play online that with the exception of any odd hackery you do with the server code, you play on one of the established servers. We'd of course be happy to have you play on Sylverant.I promise that I won't try to set up yet another public server I certainly think there should be options, but between DCtalk and Schthack I think we already have that. If anything, my server would just be for me and my friends if they ever decide they want BBAs, and for my own cross-region stuff like moving items between characters and (If it works) moving characters between memory cards. Maybe download quests. The reason I want to try to do it on my SPARC box is just something to get myself back into programming, and hopefully learn something in the process.