Yup, I did. and that was the issue.
Allow me to elaborate here for folks who are maybe less technically savvy who hit this issue.
The reason why F00B4r was asking if I was running VMWare or something similar (in my case Open VPN) is because of what those applications do and how plexconnect works.
Any virtualization platform (VMWARE, HyperV etc) or VPN platform (in my case Open VPN) will very likely install additional network adaptors to handle the virtual network needed for those programs to work.
Now you're asking me: "Br3akd0wn, why does that matter to me, and why is my Plex not working right?"
I'm getting to that part :)
I had mentioned that part of this was how plexconnect works, Here is the part of the plexconnect code that handles figuring out your IP :
def getIP_self():
cfg = param['CSettings']
if cfg.getSetting('enable_plexconnect_autodetect')=='True':
# get public ip of machine running PlexConnect
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.connect(('1.2.3.4', 1000))
IP = s.getsockname()[0]
dprint('PlexConnect', 0, "IP_self: "+IP)
else:
# manual override from "settings.cfg"
IP = cfg.getSetting('ip_plexconnect')
dprint('PlexConnect', 0, "IP_self (from settings): "+IP)
return IP
I know that the above is probably nonsense to those without programming experience so let me break it down to the important parts:
The code above basically means that PlexConnect is using Python to tell Windows "Hey give me a list of all your network adapters and i'll get my IP from there".
This line in in particular is what matters here:
IP = s.getsockname()[0]
What's happening here is that we are talking that "list" and setting the IP to be the first item in the list (Array index 0) represented by [0]
So now you are probably thinking ..... "Ok so I'm sort of following you... but what is this list you are talking about....."
Here's an example from my Windows Machine with non essential or personally identifying information stripped out:
c:\>ipconfig /all
Windows IP Configuration
Host Name . . . . . . . . . . . . : Your Machine Name
Primary Dns Suffix . . . . . . . :
Node Type . . . . . . . . . . . . : Hybrid
IP Routing Enabled. . . . . . . . : No
WINS Proxy Enabled. . . . . . . . : No
Ethernet adapter Local Area Connection:
Connection-specific DNS Suffix . :
Description . . . . . . . . . . . : TAP-Win32 Adapter V9
Physical Address. . . . . . . . . :
DHCP Enabled. . . . . . . . . . . : Yes
Autoconfiguration Enabled . . . . : Yes
Link-local IPv6 Address . . . . . : fe80::2035:183:b8f5:a358%4(Preferred)
IPv4 Address. . . . . . . . . . . : 10.199.1.6(Preferred)
Subnet Mask . . . . . . . . . . . : 255.255.255.252
Lease Obtained. . . . . . . . . . : December 14, 2013 1:03:14 AM
Lease Expires . . . . . . . . . . : December 14, 2014 1:03:14 AM
Default Gateway . . . . . . . . . :
DHCP Server . . . . . . . . . . . : 10.199.1.5
NetBIOS over Tcpip. . . . . . . . : Enabled
Ethernet adapter Ethernet:
Connection-specific DNS Suffix . :
Description . . . . . . . . . . . : Realtek PCIe GBE Family Controller
Physical Address. . . . . . . . . :
DHCP Enabled. . . . . . . . . . . : No
Autoconfiguration Enabled . . . . : Yes
Link-local IPv6 Address . . . . . : fe80::b06e:94a6:1cd1:614%3(Preferred)
IPv4 Address. . . . . . . . . . . : 192.168.100.110(Preferred)
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : 192.168.100.254
As you can see, I have 2 Ethernet Adapters, each with a different IP address. The bolded items are what Python is what python is putting in that "List" I keep talking about.
Here is what that list would look like:
item 0: 10.199.1.6
item 1: 192.168.100.110
(The first item is numbered 0 because most programming languages begin an Array index at 0)
So if you notice in my earlier log the Self_IP that was selected is infact the first item on the list:
13:23:12 PlexConnect: IP_self: 10.199.1.6
Which for me was bad, because my server's ACTUAL ip address was item number 1 in the list, not 0.
If you are having a similar problem the solution is simple:
1) Set the following items in your settings.cfg file (preferred if you want to leave your applications installed):
- ip_plexconnect = (ex: ip_plexconnect = 192.168.100.110)
- enable_plexconnect_autodetect = False (This tells plexconnect to use the IP you specified instead of pulling it from the "list")
2) You can uninstall the app that installed the additional network adatper
Hope this helps someone in the future! Big thanks to F00b4r for replying to the thread with advice!