LukeShortCloud / swgemu-server-packages

SWGEmu server Linux system packages that are easy to build and are reproducible.
GNU General Public License v3.0
2 stars 1 forks source link

Port Test Failures #19

Open LukeShortCloud opened 4 years ago

LukeShortCloud commented 4 years ago

ekultails --- I followed your guide I got most things to work however I am having an issue with the SWGEmu game server Issue is the server will not open ports: Diagnostics / Test Port = Port test to host: x.x.x.x Port: 44453, Connection failed. Diagnostics / Test Port = Port test to host: x.x.x.x Port: 44462, Connection failed. Diagnostics / Test Port = Port test to host: x.x.x.x Port: 44419 successful. Diagnostics / Test Port = Port test to host: x.x.x.x Port: 44455 successful. As you can see here two of them are open and successful and two are not

How can I fix this issue?

One more question what file do I need to go to in order to turn of the Blue Frog? (I must be blind or over looking it)

Thank you in advance;

RedManWolf

Originally posted by @RedManWolf in https://github.com/ekultails/swgemu-server-packages/issues/10#issuecomment-630440045

LukeShortCloud commented 4 years ago

@RedManWolf Thanks for reporting your issue! Were you seeing these issues in the SWGEmu Launcher? I will see if I can replicate the problem.

I have been meaning to update my build to a newer version. There is ways the possibility of random bugs since these are not polished releases.

I am not sure about enabling/spawning the debug Blue Frog. A search through the Core3 source code may lead you in the right direction.

RedManWolf commented 4 years ago

I do appreciate the feed back. I am login to the server inside the LAN, create characters and all that. However when I try to reach it from outside it cannot ... I can see the Server even click connect then it stays as "connecting to the galaxy" forever.

I have tested the ports as you can see. I know I have the exceptions in the firewall. As an experiment I out it the DMZ and still has the same issue - unable to connect Then I test the ports on the local Linux box and I came up with the results I shared Looks like the server is requesting and opening two of the four ports --- well Three The webport 44460 works as well. Been banging my head on the wall for more than a week trying to figure this out myself... then I decided to be a big person and reach out for help / report a bug / issue.

RedManWolf

RedManWolf commented 4 years ago

Okay more investigating revealed that core3 is not listening on UDP 44453 or 44462 however has opened the ports.

[root@localhost sql]# lsof -i -P |grep 44453 core3 27821 root 116u IPv4 64229 0t0 UDP :44453 [root@localhost sql]# lsof -i -P |grep 44462 core3 27821 root 115u IPv4 64228 0t0 UDP :44462 [root@localhost sql]# lsof -i -P |grep 44419 core3 27821 root 42u IPv4 125247 0t0 TCP :44419 (LISTEN) [root@localhost sql]# lsof -i -P |grep 44455 core3 27821 root 103u IPv4 64226 0t0 TCP :44455 (LISTEN) [root@localhost sql]# lsof -i -P |grep 44460 core3 27821 root 113u IPv4 64227 0t0 TCP *:44460 (LISTEN)

========================================================= lsof -Pnl +M -i4

core3 27821 0 42u IPv4 125247 0t0 TCP :44419 (LISTEN) core3 27821 0 45u IPv4 125248 0t0 UDP :44463 core3 27821 0 103u IPv4 64226 0t0 TCP :44455 (LISTEN) core3 27821 0 113u IPv4 64227 0t0 TCP :44460 (LISTEN) core3 27821 0 115u IPv4 64228 0t0 UDP :44462 core3 27821 0 116u IPv4 64229 0t0 UDP :44453

========================================================= [root@localhost conf]# nc 127.0.0.1 44463 Ncat: Connection refused. [root@localhost conf]# nc 127.0.0.1 44462 Ncat: Connection refused. [root@localhost conf]# nc 127.0.0.1 44453 Ncat: Connection refused.

RedManWolf commented 4 years ago

I think I found the solution to the problem... The first time I started the server (looked back in my logs) I got the following error messages: [Lua] INFO - file:conf/config-local.lua ERROR cannot open conf/config-local.lua: No such file or directory [Lua] INFO - file:conf/core3engine.lua ERROR cannot open conf/core3engine.lua: No such file or directory Upon a restart of the server I found the files but there is not data in them conf/engine3.lua & conf/config-local.lua have no information in those files... they are void

I believe one of these files allows me to Enable External Access To My Server.

Do you have some examples of these files I can get and run some test with?

I could be wrong, it is just a hunch I have.

[root@localhost conf]# nc 127.0.0.1 44455 <?xml version="1.0" standalone="yes"?>

Eclipse up 0 3000 2 2 0 138505 1590095796421

Ncat: Connection reset by peer.

LukeShortCloud commented 4 years ago

@RedManWolf I do not think those configuration files are a problem.

Currently I almost have a build up with the latest version of SWGEmu to further test this. There was a large change to how the build process works at the end of last year with the engine3 project going open source.

By the way, what distribution are you testing this out on? I have primarily been testing this using CentOS 8.

RedManWolf commented 4 years ago

CentOS 8 as well. I really do appreciate the work you are doing here.

RedManWolf commented 4 years ago

@ekultails CentOS 8 is what I am using as well. I really do appreciate the work you are doing here.

LukeShortCloud commented 4 years ago

@RedManWolf No problem! This has been a fun side project getting SWGEmu to work on Fedora-based distros.

I got an updated build up on Fedora COPR and verified it works using localhost. I was able to log in, create a new character, and start playing the tutorial. Let me know if you run into any more trouble!

$ dnf copr enable ekultails/swgemu
$ dnf install swgemu-server
RedManWolf commented 4 years ago

@ekultails Thank you for your hard work.

This was an upgrade correct? Just run this and start server as normal? Or do I need to do anything different?

LukeShortCloud commented 4 years ago

@RedManWolf Yes, the latest RPM is a huge update! There is over half a year's worth of changes and it is now using the new upstream SWGEmu build methods and repositories. The code is all stored in various branches I am working on. They will be merged into the master branch of this repository soon.

Everything from an operator perspective is the same. You install the RPM, setup the MariaDB database, copy over the TRE files from your Star Wars Galaxies game's installation, and then start the swgemu-server service.

All of there operator documentation is here and also installed as part of the RPM. I am working on refactoring it along with creating a troubleshooting section with how to deal with common errors. If you have any suggestions on what should be added, removed, or updated, please let me know!

RedManWolf commented 4 years ago

@ekultails I have updated the server by making sure the repository was active and running the install RPM

$ dnf copr enable ekultails/swgemu $ dnf install swgemu-server

Got the message Upgrade/Update was Successful or something like that (don't remember now)

I am able to login via local host and LAN but not via the WAN I do have all the ports open as you have documented

Is there another configuration file I need to edit to allow outside access?

A friend of mine is going to assist me with some development and I am a little behind the curve now as I have not programmed anything in quite some time. He is obliviously outside of my LAN and will need to join me via the WAN

LukeShortCloud commented 4 years ago

@RedManWolf The only place you should need to specify the server IP is in the database. Maybe that needs to be updated to reflect the IP address provided by your ISP? I have never personally hosted a server outside of my LAN before.

mysql> UPDATE swgemu.galaxy SET address="<PUBLIC_IP>";

The fact that it works on your LAN is great. Maybe try some additional smoke tests with connecting to the ports remotely using netcat.

Sounds like you and your friend are going to have a fun time! Here's to helping develop and support SWGEmu on Enterprise Linux! I much prefer to run my applications on a server that will have 7 to 10 years of support (instead of Debian's 5 year support).