Update for Half-Life 1.1.1.1 and client library for Mac/Linux

2

Comments

  • puzlpuzl The Old Firm Join Date: 2003-02-26 Member: 14029Posts: 4,111Retired Developer, NS1 Playtester, Forum Moderators, Constellation mod
    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.

    Retired NS1 Developer, currently making myself useful as a forum moderator - message me for any mod related requests.
  • MilaniumMilanium Join Date: 2012-12-27 Member: 176388Posts: 95Members
    SDK with full source code is available at https://github.com/ValveSoftware/halflife?files=1 since august 2013.
    rea987
  • noregnoreg Join Date: 2012-09-15 Member: 159425Posts: 3Members
    Flayra and puzl have put up the NS1 source on github.
    Milaniumninjin
  • ninjinninjin Join Date: 2013-04-16 Member: 184854Posts: 11Members, Reinforced - Diamond
    noreg wrote: »
    Flayra and puzl have put up the NS1 source on github.

    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.
  • hasufellhasufell Join Date: 2013-01-08 Member: 178257Posts: 5Members
    ninjin wrote: »
    noreg wrote: »
    Flayra and puzl have put up the NS1 source on github.

    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.
  • MilaniumMilanium Join Date: 2012-12-27 Member: 176388Posts: 95Members
    We discussed the license header at http://www.reddit.com/r/linux_gaming/comments/1vi26y/natural_selection_source_code_has_just_been/cesnuqr?context=3 and believe that we are not even allowed to fork/clone the git repository because that would be a copyright violation. A bug report has been filed at https://github.com/unknownworlds/NS/issues/1 about that.
  • puzlpuzl The Old Firm Join Date: 2003-02-26 Member: 14029Posts: 4,111Retired Developer, NS1 Playtester, Forum Moderators, Constellation mod
    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.
    Retired NS1 Developer, currently making myself useful as a forum moderator - message me for any mod related requests.
  • puzlpuzl The Old Firm Join Date: 2003-02-26 Member: 14029Posts: 4,111Retired Developer, NS1 Playtester, Forum Moderators, Constellation mod
    hasufell wrote: »
    ninjin wrote: »
    noreg wrote: »
    Flayra and puzl have put up the NS1 source on github.

    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.


    Retired NS1 Developer, currently making myself useful as a forum moderator - message me for any mod related requests.
    herrsheimer
  • puzlpuzl The Old Firm Join Date: 2003-02-26 Member: 14029Posts: 4,111Retired Developer, NS1 Playtester, Forum Moderators, Constellation mod
    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.


    Retired NS1 Developer, currently making myself useful as a forum moderator - message me for any mod related requests.
    herrsheimerDarklord42wulf
  • trinity.nstrinity.ns Join Date: 2008-12-07 Member: 65688Posts: 133Members, Reinforced - Shadow
    Would be so nice if you could release a fixed NS1 version.
    Think outside the box? Burn the goddamned box!
  • radforChristradforChrist USA Join Date: 2002-11-04 Member: 6871Posts: 534Members, Constellation, NS2 Playtester, Subnautica Playtester
    Any playtesting or support needed, I'm more than willing to pitch in.
  • Darklord42Darklord42 Join Date: 2013-02-20 Member: 183230Posts: 2Members
    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!
  • ZeitgeistZeitgeist FFM Join Date: 2014-05-20 Member: 196148Posts: 10Members Auto Verified
    edited May 2014
    @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.
    Post edited by Zeitgeist on
  • puzlpuzl The Old Firm Join Date: 2003-02-26 Member: 14029Posts: 4,111Retired Developer, NS1 Playtester, Forum Moderators, Constellation mod
    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
    Retired NS1 Developer, currently making myself useful as a forum moderator - message me for any mod related requests.
  • ZeitgeistZeitgeist FFM Join Date: 2014-05-20 Member: 196148Posts: 10Members Auto Verified
    edited June 2014
    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.
    Post edited by Zeitgeist on
    puzl
  • rea987rea987 Germany Join Date: 2014-01-02 Member: 191467Posts: 2Members
    Zeitgeist wrote: »
    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. :-)
  • ZeitgeistZeitgeist FFM Join Date: 2014-05-20 Member: 196148Posts: 10Members Auto Verified
    edited December 2014
    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

    You also need FMOD for linuxhttps://dropbox.com/s/7xdn6qux0vd9hq6/libfmod-3.75.so?dl=0

    Good luck!

    us0FGcV.png?1
    Post edited by Zeitgeist on
  • ninjinninjin Join Date: 2013-04-16 Member: 184854Posts: 11Members, Reinforced - Diamond
    @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.
  • ZeitgeistZeitgeist FFM Join Date: 2014-05-20 Member: 196148Posts: 10Members Auto Verified
    It works! But i created new bugs :-(
    TOpEHKP.jpg?1
    Milaniumninjin
  • MilaniumMilanium Join Date: 2012-12-27 Member: 176388Posts: 95Members
    Wow, that is impressive. Have you pushed your changes to GitHub already?
  • ZeitgeistZeitgeist FFM Join Date: 2014-05-20 Member: 196148Posts: 10Members Auto Verified
    edited December 2014
    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.
    Post edited by Zeitgeist on
  • nizb0agnizb0ag Join Date: 2006-09-19 Member: 58028Posts: 64Members, Constellation, Reinforced - Supporter, WC 2013 - Supporter Auto Verified
    edited December 2014
    awesome! :D thank you so much!
    Post edited by nizb0ag on
    IPB Image Constellation - a great source of income :>
  • tschumanntschumann Join Date: 2010-05-26 Member: 71862Posts: 196Members
    ninjin wrote: »
    noreg wrote: »
    Flayra and puzl have put up the NS1 source on github.

    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.

    Nice. Not sure how I missed this until yesterday.

  • MilaniumMilanium Join Date: 2012-12-27 Member: 176388Posts: 95Members
    The diff is hard to read because of it's size. https://github.com/fmoraw/NS/compare/unknownworlds:master...linux?w=1 hides all the line ending changes.
  • MilaniumMilanium Join Date: 2012-12-27 Member: 176388Posts: 95Members
    edited January 11
    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
    Post edited by Milanium on
  • ZeitgeistZeitgeist FFM Join Date: 2014-05-20 Member: 196148Posts: 10Members Auto Verified
    edited January 11
    @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"
    Post edited by Zeitgeist on
  • MilaniumMilanium Join Date: 2012-12-27 Member: 176388Posts: 95Members
    edited January 11
    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.
    Post edited by Milanium on
  • ZeitgeistZeitgeist FFM Join Date: 2014-05-20 Member: 196148Posts: 10Members Auto Verified
    edited January 12
    The path to the folder with the makefiles is: NS/main/source/linux
    Typing "make hl_cdll" will build client.so

    axwcNNL.png?1
    Post edited by Zeitgeist on
  • MilaniumMilanium Join Date: 2012-12-27 Member: 176388Posts: 95Members
    edited January 12
    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
    Post edited by Milanium on
  • ZeitgeistZeitgeist FFM Join Date: 2014-05-20 Member: 196148Posts: 10Members Auto Verified
    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"

    More information about this error can be found here: cyberciti.biz/tips/compile-32bit-application-using-gcc-64-bit-linux.html
2
Sign In or Register to comment.