puzlThe Old FirmJoin Date: 2003-02-26Member: 14029Retired Developer, NS1 Playtester, Forum Moderators, Constellation
So was the SDK update ever released by Valve?
I spoke to them back when this topic was new, and they said they were going to updating the SDK to allow building on Linux and OSX, but I haven't seen anything since. Admittedly, I haven't been paying much attention.
This is absolutely terrific! The licensing restrictions look a bit vague, but I can't wait to see if this will build properly without too much effort.
It will need a lot of work. The build system consists of manually written Makefiles that can and will fail in a hundred ways depending on the system. And besides that, I cannot even get past the first object, because of fatal compile errors.
puzlThe Old FirmJoin Date: 2003-02-26Member: 14029Retired Developer, NS1 Playtester, Forum Moderators, Constellation
The licensing issues can be sorted out... the intention is to fully open source the NS1 code.. there will be some limitations where code that isn't (C) UWE is used, but I wouldn't hold back on any of your personal plans for this code due to licensing worries.
If you have any queries on how to get the thing building or any other hitches you run into, just ask here. I'll try to help as much as I can.
I'm pretty sure you can start by ripping out Lua, as it was never used in the end. I'm not sure what you are going to do about the particle library - the repository for our third-party code didn't get restored. You'll probably also need to update the code that uses curl and get a working version of STLPort ( iirc ).
What I would do, if I were starting on it. I wouldn't even consider upreving the HLSDK until you get the current code working.
This is absolutely terrific! The licensing restrictions look a bit vague, but I can't wait to see if this will build properly without too much effort.
It will need a lot of work. The build system consists of manually written Makefiles that can and will fail in a hundred ways depending on the system. And besides that, I cannot even get past the first object, because of fatal compile errors.
If I get some time in the next week I'll try to tidy things up a little. The repository is very useful as it includes all of the development history of NS1 from 3.0 on.
What I'd like to do is fork this into a new repo and just have a 3.2 version of the code that at least compiles on linux. I don't have visual studio 2003 anymore, so I can't fixup the windows compile, but I'm sure that once the linux server is compiling things will be more straight forward.
puzlThe Old FirmJoin Date: 2003-02-26Member: 14029Retired Developer, NS1 Playtester, Forum Moderators, Constellation
https://github.com/puzl/NS I forked UWE's repository and got the /main version of the code building for linux.
I also have a stripped down repo that just contains 3.2 hacked up to compile and link on linux: https://github.com/puzl/NS3.2
This is code I had lying around from a recent failed attempt to get back on NS1 development.. it is the basis of what I sent to Charlie so it should be more or less identical to what is in /main in the other repo.
I found a version of the particle system and added it.. but be careful with this as I'm unsure of what code changes we made to this.
oh please! OSX and linux have been in dire need of NS1 ported since gold source came out for both. If you need play testers on either, or someone with a little bit of xcode experience, count me in as well!
@puzl just cloned your ns repository. I'm trying to make a build for windows in visual studio10. Right now i am stuck with a linker error which in my opion comes from "AvHNexusServer" --> "AvHNexusServer.obj : error LNK2019". (ns.dll)
I need to gather more information about the AvHNexusServer...
When compiling the cl_dll.dll VS complains about "undefined fmod_instance_struct". This one should be easy to fix though.
edit: Successfully compiled both of the dlls with the new valve SDK, but the game crashes after joining a server.
puzlThe Old FirmJoin Date: 2003-02-26Member: 14029Retired Developer, NS1 Playtester, Forum Moderators, Constellation
You don't need AvHNexusServer. Nexus was never completed, and can can be removed from the code until such a time as you want to implement it properly ( never? )
So I'd go and just zap all references to AvHNexus from the code on your fork and see where it gets you, or at the very least, wrap all references to it in a #if 0
Thanks, now i have a working client.dll for ns based on the new hl sdk :-) Forked your git i will push it as soon as possible.
Edit: Pushed the code to my fork. Both server and client are working now. There is still so much to do. Maybe i will go for a linux build first.
Thanks, now i have a working client.dll for ns based on the new hl sdk :-) Forked your git i will push it as soon as possible.
Edit: Pushed the code to my fork. Both server and client are working now. There is still so much to do. Maybe i will go for a linux build first.
Thanks for the work! I cannot wait to see the GNU/Linux version. :-)
After zillions of compile erros I manged to get ns compiled under linux. The bad news is it will not start:-( Error: "could not load library ....client.so" Maybe someone knows why it doesn't work so if you want to check download the file from: https://dropbox.com/s/1ycf9108jf6zxkl/client.so?dl=0
@Zeitgeist: Thanks a bundle for trying, I can't imagine how difficult it must be not only to get it compile ten years down the line but also with all the various API interactions.
NS Linux Build @Milanium are you going to build it on Suse?
And it would be super awesome if someone could help me fixing the bugs! If anyone would like to test it please pm me, because the build right now has some bugs which should be fixed before posting it in the forums, i will send you the file.
The Linux build script does not work: "unzip: cannot find or open ../NS-server-src.zip" so it looks like the source files are incomplete. It also comes with zero instructions. Not sure how to help myself there. Sent you a pull request that fixes the line endings to at least make it executable. https://github.com/fmoraw/NS/pull/1
@Milanium you can safely ignore this script, it is the original build script for the server. I created both sripts for client and server like valve does for their hl1 stuff. Also make sure you are working with the right "tree". I have two one for the windows version( which i build with vs2010) and another one for the linux one. In the future both should be merged. Here's the link to the linux version: https://github.com/Mailaender/NS/tree/linux. You will find a readme there how to build the client.so lib.
In order to compile: "cd ../linux" and type "make hl_cdll &> out.log" parent folder is "main"
The cd ../linux is confusing me. The folder does not seem to exist. Or let's phrase it that way: from which folder are you typing your build instructions?
Also the different folders are confusing. It looks like the SVN import did not convert things to branches or tags which adds a lot of duplicated files and adds to the confusion. It is also hard to search the repository that way say for Makefiles.
Okay, filed another https://github.com/fmoraw/NS/pull/2 to document that properly so others can get started faster. Is there also a complete list of dependencies? gcc-c++ is obvious, but no idea how to satisfy the missing gnu/stubs-32.h
When compiling a 32-bit application with gcc on a 64-bit system you will need "glibc-devel". As you suggested this dependency should be added to a list. On Debian you have to run this: "sudo apt-get install g++-multilib libc6-dev-i386" while on Suse this should do the trick: "zypper in glibc-devel-32bit"
Comments
I spoke to them back when this topic was new, and they said they were going to updating the SDK to allow building on Linux and OSX, but I haven't seen anything since. Admittedly, I haven't been paying much attention.
This is absolutely terrific! The licensing restrictions look a bit vague, but I can't wait to see if this will build properly without too much effort.
If you have any queries on how to get the thing building or any other hitches you run into, just ask here. I'll try to help as much as I can.
I'm pretty sure you can start by ripping out Lua, as it was never used in the end. I'm not sure what you are going to do about the particle library - the repository for our third-party code didn't get restored. You'll probably also need to update the code that uses curl and get a working version of STLPort ( iirc ).
What I would do, if I were starting on it. I wouldn't even consider upreving the HLSDK until you get the current code working.
If I get some time in the next week I'll try to tidy things up a little. The repository is very useful as it includes all of the development history of NS1 from 3.0 on.
What I'd like to do is fork this into a new repo and just have a 3.2 version of the code that at least compiles on linux. I don't have visual studio 2003 anymore, so I can't fixup the windows compile, but I'm sure that once the linux server is compiling things will be more straight forward.
I also have a stripped down repo that just contains 3.2 hacked up to compile and link on linux: https://github.com/puzl/NS3.2
This is code I had lying around from a recent failed attempt to get back on NS1 development.. it is the basis of what I sent to Charlie so it should be more or less identical to what is in /main in the other repo.
I found a version of the particle system and added it.. but be careful with this as I'm unsure of what code changes we made to this.
I need to gather more information about the AvHNexusServer...
When compiling the cl_dll.dll VS complains about "undefined fmod_instance_struct". This one should be easy to fix though.
edit: Successfully compiled both of the dlls with the new valve SDK, but the game crashes after joining a server.
So I'd go and just zap all references to AvHNexus from the code on your fork and see where it gets you, or at the very least, wrap all references to it in a #if 0
Edit: Pushed the code to my fork. Both server and client are working now. There is still so much to do. Maybe i will go for a linux build first.
Thanks for the work! I cannot wait to see the GNU/Linux version. :-)
You also need FMOD for linuxhttps://dropbox.com/s/7xdn6qux0vd9hq6/libfmod-3.75.so?dl=0
Good luck!
@Milanium are you going to build it on Suse?
And it would be super awesome if someone could help me fixing the bugs! If anyone would like to test it please pm me, because the build right now has some bugs which should be fixed before posting it in the forums, i will send you the file.
Nice. Not sure how I missed this until yesterday.
In order to compile: "cd ../linux" and type "make hl_cdll &> out.log" parent folder is "main"
Also the different folders are confusing. It looks like the SVN import did not convert things to branches or tags which adds a lot of duplicated files and adds to the confusion. It is also hard to search the repository that way say for Makefiles.
Typing "make hl_cdll" will build client.so
More information about this error can be found here: cyberciti.biz/tips/compile-32bit-application-using-gcc-64-bit-linux.html