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: 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.

  • MilaniumMilanium Join Date: 2012-12-27 Member: 176388Members
    SDK with full source code is available at https://github.com/ValveSoftware/halflife?files=1 since august 2013.
  • noregnoreg Join Date: 2012-09-15 Member: 159425Members
    Flayra and puzl have put up the NS1 source on github.
  • ninjinninjin Join Date: 2013-04-16 Member: 184854Members, 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: 178257Members
    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: 176388Members
    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: 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.
  • puzlpuzl The Old Firm Join Date: 2003-02-26 Member: 14029Retired Developer, NS1 Playtester, Forum Moderators, Constellation
    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.


  • puzlpuzl The Old Firm Join Date: 2003-02-26 Member: 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.


  • trinity.nstrinity.ns Join Date: 2008-12-07 Member: 65688Members, Reinforced - Shadow
    Would be so nice if you could release a fixed NS1 version.
  • radforChristradforChrist USA Join Date: 2002-11-04 Member: 6871Members, 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: 183230Members
    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: 196148Members
    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.
  • puzlpuzl The Old Firm Join Date: 2003-02-26 Member: 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
  • ZeitgeistZeitgeist FFM Join Date: 2014-05-20 Member: 196148Members
    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.
  • rea987rea987 Germany Join Date: 2014-01-02 Member: 191467Members
    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: 196148Members
    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
  • ninjinninjin Join Date: 2013-04-16 Member: 184854Members, 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: 196148Members
    It works! But i created new bugs :-(
    TOpEHKP.jpg?1
  • MilaniumMilanium Join Date: 2012-12-27 Member: 176388Members
    Wow, that is impressive. Have you pushed your changes to GitHub already?
  • ZeitgeistZeitgeist FFM Join Date: 2014-05-20 Member: 196148Members
    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.
  • ArchieArchie Antarctica Join Date: 2006-09-19 Member: 58028Members, Constellation, Reinforced - Supporter, WC 2013 - Supporter
    edited December 2014
    awesome! :D thank you so much!
  • tschumanntschumann Australia Join Date: 2010-05-26 Member: 71862Members
    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: 176388Members
    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: 176388Members
    edited January 2015
    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
  • ZeitgeistZeitgeist FFM Join Date: 2014-05-20 Member: 196148Members
    edited January 2015
    @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"
  • MilaniumMilanium Join Date: 2012-12-27 Member: 176388Members
    edited January 2015
    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.
  • ZeitgeistZeitgeist FFM Join Date: 2014-05-20 Member: 196148Members
    edited January 2015
    The path to the folder with the makefiles is: NS/main/source/linux
    Typing "make hl_cdll" will build client.so

    axwcNNL.png?1
  • MilaniumMilanium Join Date: 2012-12-27 Member: 176388Members
    edited January 2015
    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
  • ZeitgeistZeitgeist FFM Join Date: 2014-05-20 Member: 196148Members
    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
Sign In or Register to comment.