HaSnip

External additional handy features.
20 posts Page 1 of 2
Sonarpulse
Coder
Coder
Posts: 443
Joined: Thu Dec 13, 2012 7:18 pm


Image
Intro
So, I am going to rewrite AoS in Haskell. It is going to be network compatible with as many 0.* versions as I can make it (starting with 0.75). AT THE MOMENT THERE IS NOTHING TO PLAY, NUBS.

Some of your also I have another project to port and maintain Voxlap. This may or may not use Voxlap, this may or may not use Iceball's engine (if grease et al. is ok with that), this may use this one guy's thing in pure haskell, I don't know yet. I will do whatever is easier/better. Also, My plan is to make this game ass-backwards:
  1. Networking
  2. Gameplay
  3. 2D overview (think the current map).
  4. Actual 3D Graphics.
Also I may "fix" the rifle giving users of my client an unfar advantage. Mua, ha, ha...

Links
Sonarpulse
Coder
Coder
Posts: 443
Joined: Thu Dec 13, 2012 7:18 pm


Challenge number 1 (because I am going to be sorta busy until mid august maybe?):

So, to make a network-compatible client we'll need to be friends with PySnip. I made a little dumb client in haskell and tried to connect ....and it didn't connect. Did the same thing in C with same result. Wireshark though shows the server respounding, so maybe pysnip is trying to share the love back and we aren't re-reciprocating.

I'll link both versions. If you can figure out what's needed to fool pyspades for even a second, you get a cookie*.
The Haskell file can be interpreted separately from whatever else is in the HaSnip Repo. Just load it up in GHCI (the interpreter), and call init with an address like this:
Code: Select all
-- some aos://<IP>:<port>
-- yes, you can actually pull out the big IP number from the URL and just put it in directly

ghci> init $ SockAddrInet <port> <IP>
Mr.CS
Blue Master Race
Blue Master Race
Posts: 513
Joined: Wed Jul 03, 2013 2:54 pm


Good luck to you.
mylesd98
Winter Celebration 2013
Winter Celebration 2013
Posts: 86
Joined: Sun Apr 28, 2013 3:25 pm


why dont you start it at 0.76? honestly that would make more sense.
bit like how 0.76 should be set to the recommended version on this site >.<
MrHaaax
Modder
Modder
Posts: 1360
Joined: Sun Nov 25, 2012 2:58 am


Good luck, Sonar!
Sonarpulse
Coder
Coder
Posts: 443
Joined: Thu Dec 13, 2012 7:18 pm


mylesd98 wrote:
why dont you start it at 0.76? honestly that would make more sense.
bit like how 0.76 should be set to the recommended version on this site >.<
Yes, 0.76 absolutely is better, but 0.75 has more players, which is critical to getting this off the ground. Remember as this a new client, a lot of the problems with 0.75 don't apply. It's actually a fairly arbitrary decision which protocol version will I support first.
mylesd98
Winter Celebration 2013
Winter Celebration 2013
Posts: 86
Joined: Sun Apr 28, 2013 3:25 pm


that seems to make sense now :)
danhezee
Former Admin / Co-founder
Former Admin / Co-founder
Posts: 1709
Joined: Wed Oct 03, 2012 12:09 am


interesting
Sonarpulse
Coder
Coder
Posts: 443
Joined: Thu Dec 13, 2012 7:18 pm


Thanks!
Kuma
Scripter
Scripter
Posts: 758
Joined: Fri Mar 22, 2013 10:05 am


Hmmm, I am a nub I don't understand this. But anyways good luck!
Sonarpulse
Coder
Coder
Posts: 443
Joined: Thu Dec 13, 2012 7:18 pm


Thanks!
Xtra


Well, good luck with this.
GreaseMonkey
Coder
Coder
Posts: 733
Joined: Tue Oct 30, 2012 11:07 pm


Sonarpulse wrote:
Challenge number 1 (because I am going to be sorta busy until mid august maybe?):

So, to make a network-compatible client we'll need to be friends with PySnip. I made a little dumb client in haskell and tried to connect ....and it didn't connect. Did the same thing in C with same result. Wireshark though shows the server respounding, so maybe pysnip is trying to share the love back and we aren't re-reciprocating.

I'll link both versions. If you can figure out what's needed to fool pyspades for even a second, you get a cookie*.
The Haskell file can be interpreted separately from whatever else is in the HaSnip Repo. Just load it up in GHCI (the interpreter), and call init with an address like this:
Code: Select all
-- some aos://<IP>:<port>
-- yes, you can actually pull out the big IP number from the URL and just put it in directly

ghci> init $ SockAddrInet <port> <IP>
You need to call enet_host_compress_with_range_coder(ENetHost *host) after creating your client "host". The rest looks fine to me, although for Iceball I wait 5 seconds, instead of 3/4.
Sonarpulse
Coder
Coder
Posts: 443
Joined: Thu Dec 13, 2012 7:18 pm


Awesome, Thanks so much, Grease! I'll try it: if it works I'll finally be able to actually get somewhere with this.

Edit: Works!!! Thanks again!
ByteBit
Winter Celebration 2013
Winter Celebration 2013
Posts: 140
Joined: Sun Mar 24, 2013 12:08 pm


GreaseMonkey wrote:
You need to call enet_host_compress_with_range_coder(ENetHost *host) after creating your client "host". The rest looks fine to me, although for Iceball I wait 5 seconds, instead of 3/4.
Thank you very much! Maybe that is the problem why my attemps to connect to E-net servers always fail.
Green_Sunglasses1
Anyway, I think it's not very effective if everybody is making his/her own client.
20 posts Page 1 of 2
Return to “Add-ons & Tools”

Who is online

Users browsing this forum: No registered users and 1 guest