-
Notifications
You must be signed in to change notification settings - Fork 8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Docs Request: Linking #1
Comments
So, the reason you're getting that error is Valve updated the library and a whole lot has changed. This whole library needs refactored to fix it. I'm working on it but I don't really have a lot of time to dedicate to it. I think it should be possible to clone the submodule at an older version but I'm not sure which version it should be. |
Sorry, I forgot to come back and update here. I do have a workaround for now, but Idk if it pertains exactly as something to add to documentation. Basically, I built the steam lib at the version this lib expects, then stored it in a docker image. When I do a build of my game, I just copy the built lib out of the docker container and store it in the proper spot in my vendored gns lib. It works using dynamic linking atm. |
I found another work-around too if it helps. So I manually did the following cd $GOPATH/src
mkdir nielsAD
cd nielsAD
git clone https://github.com/nielsAD/gns.git
cd gns/lib/GameNetworkingSockets
mkdir build
cmake -G Ninja ..
ninja Then in my VSCode terminal I do: export LD_LIBRARY_PATH=/home/charles/go/src/github.com/neilsAD/gns/lib/GameNetworkingSockets/build/src Finally I made my
Then when I run ➜ devnet git:(master) ✗ go build
➜ devnet git:(master) ✗ ./devnet
Compare(in, out) == true |
It's kinda fugly so I'd love to see how the author does it. Considering the mental overhead it seems like the author should have a more streamlined process somewhere that I'm just not seeing. |
Yeah, I'd say this repo is more or less unmaintained so we probably won't find out :). I'm just moving away from it |
Considering the potential here I might pick it up in my fork if I have time. Built in encryption with symmetric keys, good re-assembly handling, and solid fault tolerance to crappy connections is pretty compelling. I'm actually thinking about using it for IoT because of those features. Much faster than websockets and I don't have to deal with TLS and distributing certs, rather I can rely on the encryption then on rollup use auth. Even the P2P bits are pretty useful in IoT. |
Hey! Thanks for making this project! I'd like to use it but am having trouble setting it up. It'd be great to have some documentation for the linking steps. I'm definitely more on the noob side of things when it comes to CGO.
Currently I'm trying to get something similar to the example code running on macos. Steps I've done so far.
lib/GameNetworkingSockets/build/src
to the vendoredgns
dep including a dynamic lib I built fromGameNetworkingSockets
source (libGameNetworkingSockets.dylib
). Now when I run I get:I was hoping I could get some tips on the proper way to do this stuff (or pointed to resources to follow). I'd be down to also add documentation for this stuff if I can get it figured out.
The text was updated successfully, but these errors were encountered: