Skip to content
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

IPv6 networking support #1315

Closed
slime73 opened this issue Aug 6, 2017 · 8 comments
Closed

IPv6 networking support #1315

slime73 opened this issue Aug 6, 2017 · 8 comments
Labels
change Change to existing functionality

Comments

@slime73
Copy link
Member

slime73 commented Aug 6, 2017

Original report by Jan W. (Bitbucket: [Jan Werder](https://bitbucket.org/Jan Werder), ).


From what I've been reading, I'm led to believe that there is currently no IPv6 support in Löve. This comes down to enet not supporting IPv6 either. There are currently 3(!) pull request open over at the enet repository (https://github.com/lsalzman/enet/pulls) which try to add IPv6 support, but not one of them is accepting due to breaking the API/ABI.

There seem to be forks that support IPv6 (https://github.com/csm/enet), but since I believe that Löve relies on lua-enet, one would have to change not only the underlying library but also the lua wrapper. Please correct me if I'm wrong on any of these.

So I don't know if it worth looking at at the moment, but since the IPv6 portion of the internet is steadily growing, we should do something about IPv6 support at some point in time.

@slime73
Copy link
Member Author

slime73 commented Aug 6, 2017

Original comment by Alex Szpakowski (Bitbucket: slime73, GitHub: slime73).


I think luasocket (3.0rc, which is what love 0.11 uses) supports ipv6, from what I remember.

@slime73
Copy link
Member Author

slime73 commented Aug 6, 2017

Original comment by Jan W. (Bitbucket: [Jan Werder](https://bitbucket.org/Jan Werder), ).


I thought Löve used enet, has that changed with 0.11? But yes 3.0-rc1 supports IPv6

@slime73
Copy link
Member Author

slime73 commented Aug 6, 2017

Original comment by Alex Szpakowski (Bitbucket: slime73, GitHub: slime73).


LÖVE uses both enet and luasocket (so code using luasocket works with ipv6, but enet doesn't).

@slime73
Copy link
Member Author

slime73 commented Aug 6, 2017

Original comment by Jan W. (Bitbucket: [Jan Werder](https://bitbucket.org/Jan Werder), ).


Ok, so the solution would be to "just" use luasocket instead of enet? I guess there is a solution in Löve for developers who really need IPv6.

@slime73
Copy link
Member Author

slime73 commented Aug 6, 2017

Original comment by Alex Szpakowski (Bitbucket: slime73, GitHub: slime73).


Yeah. It'd be great if enet got support, but in the meantime if someone were to absolutely need ipv6 then luasocket is at least an option for them.

@slime73
Copy link
Member Author

slime73 commented Aug 7, 2017

Original comment by Jan W. (Bitbucket: [Jan Werder](https://bitbucket.org/Jan Werder), ).


Seems fair to me. I just rewrote a bunch of stuff to work with luasocket instead of enet and it's fairly managable.
I also opened an issue over at the enet repo, even though I wouldn't get my hopes up. The developer has spoken against IPv6 in the past and the project seems more or less in maintaince mode. Other gameengines like godot have implemented their own solutions by now

@slime73
Copy link
Member Author

slime73 commented Oct 5, 2017

Original comment by Bart van Strien (Bitbucket: bartbes, GitHub: bartbes).


We will update or replace (lua-)enet when applicable, but there's little we can do at the moment.

@slime73 slime73 closed this as completed Oct 5, 2017
@slime73
Copy link
Member Author

slime73 commented Dec 12, 2018

Original comment by Jan W. (Bitbucket: [Jan Werder](https://bitbucket.org/Jan Werder), ).


Just an update: By now there is a fork of enet, which is stable and supports ipv6: https://github.com/zpl-c/enet

It surely isn't as simple as just dropping in the replacement, but it might be worth looking at since IPv6 is at a steady growth.

@slime73 slime73 added major change Change to existing functionality labels Feb 20, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
change Change to existing functionality
Projects
None yet
Development

No branches or pull requests

1 participant