Installing on Arch-based Linux

Alright as far as the error I get when trying to launch it with a proper IP, I get the following.

2020-02-05 02:12:33 FATAL - Couldn’t start the game: error=no acceptor (port is in use or requires root privileges) backtrace=["/usr/lib/ruby/gems/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:531:in start_tcp_server'", "/usr/lib/ruby/gems/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:531:in start_server’", “/home/ritea/aresmush/engine/aresmush/server.rb:31:in block in start'", "/usr/lib/ruby/gems/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in run_machine’”, “/usr/lib/ruby/gems/2.7.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in run'", "/home/ritea/aresmush/engine/aresmush/server.rb:22:in start’”, “/home/ritea/aresmush/engine/aresmush/bootstrapper.rb:72:in start'", "/home/ritea/aresmush/Rakefile.rb:27:in block in <top (required)>’”, “/usr/lib/ruby/gems/2.7.0/gems/rake-12.3.3/lib/rake/task.rb:273:in block in execute'", "/usr/lib/ruby/gems/2.7.0/gems/rake-12.3.3/lib/rake/task.rb:273:in each’”]

And as far as what I changed, I changed the hostname in server.yml to “localhost”, it also seems to work with “127.0.0.1” as well, but not the actual IP, with the IP it throws that error.

Edit: Tried the devstart, it throws exact same error when using IP.

I’ve seen that before with firewall errors. It can listen on localhost because local connections are always permitted, but the port is blocked so it can’t open that port for outside connections.

Well there’s no firewall on the system here. And I’ve had them open on the router, specifically 4000, 4001, and 4002 that I am using for AresMUSH. The only one that is not unlocked is the 8080 for webportal.
Correction: 8080 is port-forwarded as well. No clue what is causing that. That being said, PennMUSH worked just fine with the IP and same ports (4000, 4001).

OK I’m running out of ideas. Ares doesn’t really care what IP its bound to (except insofar as whether the OS lets it bind).

A few other things to maybe try if you haven’t already:

  • Double check the IP address for typos.
  • Run lsof -i :4000 just to make sure nothing else is blocking the port. (You can also repeat for 4001, 4002 but the line of code it’s dying on is the one trying to open the port on 4000.)
  • Some systems (AWS comes to mind) require you to bind to an internal IP address and not the external one because of some route wizardry going on behind the scenes. If you need that in your environment you can use the bind_address config setting.

I doubt any of these are the problem because you say it worked on PennMUSH and works with localhost, but it can’t hurt to check. I don’t know what else to suggest at this point.

Worth noting that errors with the web port won’t keep the game from starting. The website talks to the game, not vice-versa.

I finally got it to work! Binding address was the thing that fixed it.
At least this time I had little extra brain to use my mobile network to connect to it, to make sure it actually allows others to connect to it.

1 Like