SOURCE CODE d3d8thk.dll
Click_version_1
Click_version_2
Printable View
SOURCE CODE d3d8thk.dll
Click_version_1
Click_version_2
Hi, can you host it on something else? It seems rghost.ru is not working since few days.
Thanks in advance.
Link Not Found Man Thanks in advance.
link not works , and dll local or internet?
Here are mirrors if you have any problem with rghost.ru:
Download links for d3d8thk.rar - Mirrorcreator - Upload files to multiple hosts
Download links for d3d8thk_(2).rar - Mirrorcreator - Upload files to multiple hosts
It's the same files but I didn't check what is inside. All credits go to vasyater2/authors.
The first one are the source files for a trojan horse to spy out game accounts from the MMORPG Dragons Nest - not usefull for Aion
the second one looks intresting - but got no time now - will check on this tomorrow. Need go to bed now - tomorrow I need go to work again ^^
ok good job and thanks Dwarfpicker :))
thank you Dwarfpicker :pepsi::pepsi::pepsi:
what use dll?
Download links for d3d8thk_(2).rar - Mirrorcreator - Upload files to multiple hosts
me download and all file lol
this is what i need. Thnx. I'll try to play with this source code these evening.. Wish me luck. :D
where to edit the ip of the dll in the files? or do I need to insert a domain-name and where do i have to insert this?
thanks in advance
and this is one that I wrote to you at your own IP?
Why did not anyone can do it with the same solution, the open version?
not everyone is rich to buy :(
Anyway, this is it, if you buy a fixed ip dll
and served as atonal chance you are having trouble
and give new fixed IP address
again you have to take the dll
The best for the open source community would be to find a way to unrestrict it so that you don't need a specific ip anymore like fyyre did for 1.0 to 3.9.
If that's not possible maybe a tool to edit or just rebuild the dll would be nice but it means you must have the sources.
had long been open to the dll
But it seems that many people who instead segytenének, this parasitic
And the joke is that, despite the fixed IP address
failure of the service change at any time
dll and you can always buy a new one?
Would not it be easier for you in all you do?
helping others? and give a solution?
I'm not going to buy dll, because I'm Hungarian
and in 1700 the euro minimal action
but only 70-100 converted to euro
I might be meaningless to run across an open forum emu
because you could get cash for any help
Okay, I have started taking a look at this mysterious d3d8thk.dll. pwet99 was kind enough to send me a package of a whole bunch of them. I also looked at the source code linked at the top of this thread.
First thing I did was ran network monitor on it. Interestingly enough, the version of d3d8thk.dll that is included with the AL 4.0 1 click start v2.1 package is talking with some IP over in Mountain View, California. The IPs it's talking with are in the 74.125.225.xxx range. (74.125.225.115, 74.125.225.78 are some of the ones I've seen). oscp.verisgn.net also came up.
I can say that this is completely unnecessary traffic, and quite suspicious, because I unplugged my network cable and tried running the client and it worked fine. As to what exactly that dll is doing to fix the 'No game server is available to the authorization server. (6)', I haven't been able to figure out yet.
However, the text of that error made me think of something that I had to do to get my L2 server up and running. There was a batch file in the loginserver for L2 that you had to run to register a game server. It displayed a list of all possible game servers, you chose an ID and it would generate a hexid.txt file that had a big Hex number in it to identify which game server the login server was connected to. That text file was then copied in to the config folder for the game server.
This seems like the same problem, and having setup both L2 and Aion now, the servers are very similar. I don't know how they got the hex list for each server in L2 or how they load it with the server. I will need to do some more digging.
oscp? Is the dll using some sort of certificate verification? Sounds weird.
As far as I remember the dll coming with the 1 click AL 4.0 repack is the "localhost dll". Also I said something which is wrong, the localhost dll and notaion dll aren't the same but they have both been packed the same way.
Those dlls have a lot of stuff in it and I doubt it's all useful and safe for a no ip. Do you also get the same traffic with the unpacked ones?
I've tried it a number of times now and I only saw the oscp.verisign.net once. I will probably try it again, going further than the race selection screen as that may trigger it.
I tried all of the unpacked ones you gave me (120k)
aionsea
conquestaion
eternalaion
evolutionfr
gamezaion
justaion
unforgotten
None of those ones had any network traffic, but none of them worked either. All of them generated the 'No game server is available to the authorization server. (6)' error. The net traffic on the 'localhost' version only begins after you get to the race selection screen. (In my case, I haven't created any characters yet, so that's where I end up after server selection.)
I haven't tried the other ones yet.
Well, they are not supposed to work since they are ip bind to the corresponding server so you will get "No game server is available to the authorization server. (6)" if you are trying to connect to an address different than the one supported by the dll.
Actually if you try to diff some 120k dlls you will see there is often only 14 bytes changing and you can see in IDA those are used in a part that takes those bytes and a static number which must be the length of that data.
I don't know much what's happening from here but it seems that function is trying to decrypt the data and that data is then passed to getaddrinfo.
Everything what is needed to get around that check is already posted here.
@OldTimeDev you are right there is a list of "valid" ip's that get checked by game.dll. those IP's are from the official servers.
@pwet99 Your guess with the just some changing bytes + getaddrinfo are also right
On a sidenote if you know the place where those bytes are + how they are generated then we could use a HEX Editor to change them to anything.
I know where they are, the hard part is the generating thing.
But if I can figure out how it works and change the bind it will only be a temporary solution since a tutorial would be necessary and not convenient for most peoples.
I don't know yet if we can do like fyyre did for the older versions and unrestrict it so there is no block anymore or fake it.
Thanks for the guideline though.
Manually Unpacking a Morphine-Packed DLL with OllyDbg
I picked a few more from the program if you manage to figure dll operation
where you can edit or rewrite ip etc.
The problem is that I'm looking for any way, or encoded to the area or who knows
but even so I can not figure out to find the origin, and where lies the part where I need to enter ip
dll which must be connected to an ip
I ran and requests, but has been accompanying the ceiling scratching
me looking the visual studio microsoft and use Dev c++ program, not searching the ip data
Does anyone have any contacts with the devs/admins over at any of the existing free servers, especially the ones using the unpacked versions of the dll? They had to have had their dll made for them somehow, so they either know how to hex edit it, or have the full source and can recompile it.
As per qwertzpaul and pwet99, if those 14 bytes that are different between any two of the unpacked dlls are in fact the sa_data member of a sockaddr, it certainly has been mangled and/or encrypted and figuring out how to undo that poses quite the challenge. Has anyone managed to unpack the localhost one so we could do a comparison?
not if you've been and where we need to be rewritten, have been described here, as we seek filmed
I don't know any of them but I guess most did buy their dll. I heard notaion worked on their own so it can also support x64 but I doubt they will give any informations.
I confirm those 14 bytes are a part of the sa_data and reversing the way it's been encrypted or whatever has been the main problem since few weeks, though it's only a solution if you want to bind another address to the dll which is not really "open source friendly" unless someone makes a tool for it.
True, but we don't atm :/
I'm getting tired XDDDDDDD
have been trying to decrypt / encrypt the dll file
I looked Visual C + +
compressed / decompress program
So my hair is that you can burn to decrypt an encrypted dll as
and in order to get somewhere, it should default to a normal original source dll
I heard that Windows XP can run Aion 4.0 using battleping + old no-ip dll from fyyre..
I was test on windows XP and on AiON NA 4.0.0.9 Fyyre's NoIP 2.5+ it's works fine with localhost and LAN
no, WAN not tested, only LAN
Well, I never had to use a dll to connect in 32 and 64 bits on my local network. (aka my pc or another one on my local)
I guess the privates ranges are allowed by default.
Edit:
I have been tracing dlls calls and network traffic and if you use any of the dll you will see there is three bytes sent 3 times in a row which are always:
Sent 3 times when you are connecting to loginserver (2106) just before it's opening a connection on it and sent 3 times again, same data just before you open the connection to a gameserver (7777).Code:21 41 00 !A.
Also, your weird ip range is coming from awesomium.dll which is crypting html requests and sending it to those 74.125.255.x ip range.
I discovered that Awesomium is used to host web UI interfaces in games. There was a discussion about it over on the DDO forums, which led to a big rant over at Awesomium: why is awesomium fucking up my ddo client? - Awesomium Answers
What tool are you using to trace dll calls?
ospy - Advanced reverse-engineering tool for spying on Windows software - Google Project Hosting
Also useful if you want to follow an address in IDA.
That's a very interesting tool. I'm getting some weird behaviour though.
If I launch the client using the "Create Process" option under Capture, I get an error as soon as I login saying it can't connect to the authorization server. Interestingly though, there is a connection attempt to 70.4.0.2 at port 2106. There is also a getaddrinfo call in d3d8thk.dll using 127.0.0.1 (I am using the localhost version of that).
If I run the client using the regular aion_start_local.bat file and then attach to the process it all runs fine and I can login.
Have you managed to get it to capture using Create Process, or only by attaching to it?
Nope I only used the attach option.
using hamachi program that you can connect between 2 cities LAN / WAN ? :)
I did think of it but didn't make any test since I don't like hamachi and it would only be a temporary solution anyway. I heard on some forums that it's not working though, can't confirm.
packetsamurai because when I use the server to function as an off hamachi interface
Use at least
therefore puzzled that it is most likely you will be able to work temporary private server
if it is not enclosed in an apartment with 2 PC
One player but City and more
Stuff I've found for the unpacked versions of d3d8thk.dll:
The byte at offset 0x00003C3E indicates the length of the main difference string. It's either 0x0D (13) or 0x0E (14) and any of the ones that have a length of 13 have a 0 as their 14th byte.
Here are all of the difference strings for each of the dlls:
I noticed that the first 4 bits of each of the entries is always 0,1,3 or 4.Code:Aion Sea, IP(103.246.18.234), d3d8thk(02 09 4E 4C 05 0A 0B 33 1B 4C 0C 0B 0A 00)
Conquest Aion, IP(176.31.235.31), d3d8thk(0F 39 3F 07 4C 10 3F 0E 0A 0D 4C 0D 08 05)
Eternal Aion, IP(88.190.212.4), d3d8thk(01 0A 4C 0B 02 17 09 07 1B 33 4C 04 08 00)
Evolution Fr, IP(5.135.141.17), d3d8thk(4F 4C 33 3F 0B 02 09 0A 08 0D 33 4C 15 09)
Gamez Aion, IP(69.167.179.118), d3d8thk(05 3F 33 0B 10 3F 07 0D 0C 4C 39 0D 33 00)
Just Aion, IP(188.138.11.122), d3d8thk(0A 4C 00 1B 09 0A 3F 07 0D 0C 4C 0C 0B 0A)
Unforgotten, IP(178.254.20.148), d3d8thk(08 14 4F 4F 4A 4E 4C 4F 38 02 1B 4C 3A 0B)
I have just aion dll
I opened HexEditor
but none of these or similar lines
as you find him? and which can be found by editing it?.
Search for the text "string" three times on any 120k dll and that's just one line below.
Attachment 137490
no search line :S
What are you trying to find, ip or length?
Put "16" instead of "14" in the box on the top of the window it'll be easier...
NotAion is override getaddrinfo to ls.notaion.com and just aion to a.justaion.net
Or, it starts at offset 0x00016C84 from the start of the dll.
so if you can find it, you can also edit?
because you can simply replace that line its own IP
probability and if it works we'd have a solution
I looked at this line: 0x00016C84
before us then is there such a hex ip coded as a reference
if you can edit it and know where it is, we can all work together to figure out this solution
I got it. The 13 or 14 byte string in the dll corresponds to the URL for the server. You can see below how the characters in each URL matches between themselves (i.e. 'a' = 3F, '.' = 4C, etc)
Knowing this, I took the gamezaion version, put it in bin32 and then edited my hosts file to map 127.0.0.1 to gameszion.com. That works fine. However, if I used my local machine IP (192.168.1.x) it failed.Code:Aion Sea: ls0.gtemu.net
02 09 4E 4C 05 0A 0B 33 1B 4C 0C 0B 0A 00
l s 0 . g t e m u . n e t
Conquest Aion: qcai.zapto.org
0F 39 3F 07 4C 10 3F 0E 0A 0D 4C 0D 08 05
q c a i . z a p t o . o r g
Eternal Aion: kt.elysium.fr
01 0A 4C 0B 02 17 09 07 1B 33 4C 04 08 00
k t . e l y s i u m . f r
Gamez Aion: gamezaion.com
05 3F 33 0B 10 3F 07 0D 0C 4C 39 0D 33 00
g a m e z a i o n . c o m
Just Aion: t.justaion.net
0A 4C 00 1B 09 0A 3F 07 0D 0C 4C 0C 0B 0A
t . j u s t a i o n . n e t
Unforgotten: rv1140.1blu.de
08 14 4F 4F 4A 4E 4C 4F 38 02 1B 4C 3A 0B
r v 1 1 4 0 . 1 b l u . d e
/cheer OldTimeDev
I did think of using the windows hosts file but after I digged through servers I though they all used ips even in the dll, which seemed weird considering most of them are dynamic. Great find!
Now we will have to reverse the whole character <-> value table or peoples will fight each other to get domains.
The "4C" also bothered me but since I was looking for an ip I thought it wasn't possible there wasn't enough occurence of the character "." but now makes sense.
Okay, I can't seem to get it to work using my local network ip as the mapping in the hosts file. I can get in to the server selection and then it quits saying "cannot connect to the server". I must have missed a setting somewhere, as I changed all of the network.properties files and the -ip setting on the client command line (aion_start_local.bat).
Did you change ipconfig.xml to allow your connection from your local network ip?
Found it. Forgot the ipconfig.xml one.
So, what we could do, is just edit a version of our own (I plugged in aionserver.com) and then mapped my local 192.168.1.x to that in the hosts file. That seems easy enough and we wouldn't need to create a tool to hack the dll for everyone.
lol, you got it just before I posted, pwet99 :) right on the money.
Sure, reminds me the old servers of Lineage II, but it's not really a good solution for public servers.
You would have to edit every user hosts file and that can lead to rights problems or to erase user confs.
But that's a great step forward already.
Edit:
You should release the aionserver.com's dll and make a little tuto for peoples that already want a solution.
True, I was only thinking of being able to play it on a local lan. We will need a tool for those trying to setup a private server for external access. I'm guessing the ULR has to be a max of 15 chars (NULL terminated for 16 bytes), as there is more data after that.
Yeah I have never seen the 15th byte used.
Well, now there is a temp solution the main problem is still to reverse the way the data is crypted, then it will allow peoples to use domains <= 15 characters.
The best solution would be to recode the dll from scratch and find a way to fully unrestrict it but I am afraid I have no idea how to unpack game.dll and know how aion's client is interacting with d3d8thk.dll yet.
Partial translation table:
I don't have confirmation on H, W, X and Y, those are guesses. And I haven't figured out the numbers yet, as we just have 0,1 and 4 (4E, 4F and 4A, respectively).Code:A B C D E F G H I J K L M N O P Q R S T U V W X Y Z .
3F 38 39 3A 0B 04 05 07 00 01 02 33 0C 0D OE 0F 08 09 0A 1B 14 10 4C
06 13 12 11
I was planning to plug in my guesses for the missing characters into the string and run it through oSpy to verify the values, but for some reason oSpy only wants to crash now when I try to launch it.
You are faster than me this time I just done the same.
Try to delete config.dat in your ospy folder?
Cool, that worked. Thanks.
Ummm, I don't know about running a server that can be accessed privately, but I just ran mine with no d3d8thk.dll at all and it worked fine. And I don't have any mapping in my hosts file at all. All I have is my local IP address set everywhere in the .properties, ipconfig.xml and the -ip parameter on the command line to launch the client.
Soooo, why do we need this dll again? :tongue:
For wan.
As I said in previous posts I never had to use any dll for my local network. (aka my own pc of course and other pcs on my local)
I never got why there is a localhost dll though.
Edit:
Here's the formula to decrypt a char:
((((0x3F ^ 0x13) - 1) ^ 0x77) + 5)
Will give you "a".
Here is finally the full table.Code:A B C D E F G H I J K L M N O P Q R S T U V W X Y Z . 0 1 2 3 4 5 6 7 8 9 -
3F 38 39 3A 0B 04 05 06 07 00 01 02 33 0C 0D OE 0F 08 09 0A 1B 14 15 16 17 10 4C 4E 4F 48 49 4A 5B 54 55 56 57 73
Here is the complete table.
I didn't bother mapping out the upper case letters.Code:Translation table:
1 2 3 4 5 6 7 8 9 0
4F 48 49 4A 5B 54 55 56 57 4E
a b c d e f g h i j k l m n o p q r s t u v w x y z .
3F 38 39 3A 0B 04 05 06 07 00 01 02 33 0C 0D OE 0F 08 09 0A 1B 14 15 16 17 10 4C
Ya know, I need to refresh this thread more often.
There should be all we need in any url:
Going to sleep, it's 3:30 am here~Code:0 1 2 3 4 5 6 7 8 9
4E 4F 48 49 4A 5B 54 55 56 57
a b c d e f g h i j k l m n o p q r s t u v w x y z . -
3F 38 39 3A 0B 04 05 06 07 00 01 02 33 0C 0D OE 0F 08 09 0A 1B 14 15 16 17 10 4C 73
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
5F 58 59 5A 2B 24 25 26 27 20 21 22 53 2C 2D 2E 2F 28 29 2A 3B 34 35 36 37 30
Groovy. I don't know if you're gonna make a tool for this. I can do it, but it probably won't be until later tomorrow as I've had enough hacking for one day.
Good work, pwet99 :thumbup1:
Here's a little tuto I made quickly on u3j for peoples that don't want to wait for a tool/better tutorial because It's pretty late and I don't have much time.
I'll let you fix things up if I forgot something, going to bed~:
Quote:
All credits for the reverse go to:
OldTimeDev (ragezone)
qwertzpaul for some hints (ragezone)
me (pwet99 on ragezone)
First you need to know this will only work with an ipv4 or a domain name that takes up to 15 bytes.
1) Download a 120k dll (unpacked ones), I uploaded plenty from different sources there:
Download links for d3d8thkdlls.rar - Mirrorcreator - Upload files to multiple hosts I will take "conquestaion" dll as an example.
They use "qcai.zapto.org" as their domain name so it's 14 bytes if you count each character as 1 byte.
2) Open the dll in any good hexadecimal editor like HxD - Freeware Hex Editor and Disk Editor | mh-nexus
3) Go to offset 0x3C3E (with 16 bytes per line on HxD)
4) You will find a byte, 0x0E for conquest aion's dll, it's the length of the string you will use as an ip/dns so you have to count how many bytes you need to put here.
Example: 127.0.0.1 takes 9 bytes so "9" in hexadecimal is 0x09, you will need to replace 0x0E you found earlier by 0x09.
5) Go to offset 0x16C84 (with 16 bytes per line on HxD)
This is the start of the ip/dns that is encrypted and you will need to edit those bytes to put your own.
In conquest aion's dll you should have: 0F 39 3F 07 4C 10 3F 0E 0A 0D 4C 0D 08 05 00 00
It's 16 bytes and it means "qcai.zapto.org" (you will see why in part 6)
That string has to be terminated with a NULL byte and that's what the 16th byte (in red) is for.
Since "qcai.zapto.org" only takes 14 bytes the 15th byte is also NULL.
6) Since those bytes are crypted you will need the table to know what to write, here's the one we made:
So as you can see any character has a corresponding hexadecimal code, that's what you will need to write in hxd at the offset you are.Code:0 1 2 3 4 5 6 7 8 9
4E 4F 48 49 4A 5B 54 55 56 57
a b c d e f g h i j k l m n o p q r s t u v w x y z . -
3F 38 39 3A 0B 04 05 06 07 00 01 02 33 0C 0D OE 0F 08 09 0A 1B 14 15 16 17 10 4C 73
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
5F 58 59 5A 2B 24 25 26 27 20 21 22 53 2C 2D 2E 2F 28 29 2A 3B 34 35 36 37 30
Let's take 127.0.0.1 as an example again.
1 2 7 . 0 . 0 . 1
if you look at the table, should be
4F 48 55 4C 4E 4C 4E 4C 4F
which takes exactly 9 bytes.
So let's replace 0F 39 3F 07 4C 10 3F 0E 0A 0D 4C 0D 08 05 00 00
by 4F 48 55 4C 4E 4C 4E 4C 4F 00 00 00 00 00 00 00
7) There you go, save the file put in in aion's bin32 folder and your ip/dns won't be blocked
I won't make any support for this guide it's just something I wanted to write quickly to help you and share.
A better tutorial/tool which is more user friendly and easy to use will probably come on ragezone.
Regards.
Loxo/Pwet99
You are legendary. Everyone, remember to credit, we owe these great people. Never forget them. :) Can't wait for a tool!
Thank you all for the excellent work The congratulations
very very wonderful!!
Big thank you to OldTimeDev, qwertzpaul and pwet99. I've created 4 successful DLLs now. Will credit you all everywhere. :)
Good Work guys, that really show that there are not only leachers here and also some experienced ppl that work hard (im familiar with almost all "biggies" in the scene so i didnt except for many experienced ppl in a public forum). i will definitely share more stuff on this forum since it seems to worth it.
For the noobs we could make a quick hex tool that only let you edit these bytessequence. Could be a good over weekend project ;-)
I foresee that happening qwertzpaul, thank you for your infos!
what are you doing here I have not posted on the forum attachment
no-ip 100% working works on any server
http://forum.ragezone.com/f586/d3d8t...ing-ip-960802/
can someone verify this im at work ? Might be interesting for studuying
qwertzpaul The server starts, let your ip, I'll go now to the client 4.0.13
i dont not download the maker
please upload megashare or ect link.. thx :drool:
I client 4.0.0.13 NA
thx :)
win7 64 bit and 32 bit and win 8 work :)
hmm tryed the no ip with my ip and testing with ports open on firewall but still get no game server authorization ;/ any info if the maker works for everybody or its just luck
This worked and with the NoIP maker it worked too with me - just try out!
did i do something wrong probably lol ? i looked up my ip put it into the generate thingy and it said it was done when i tryed with the AL core it says no game server authorization qq
if you are running server and client on the same machine you need to use 127.0.0.1 - only your friends who want to connect need the correct one with your IP!
well i know that lol i use 127.0.0.1 and i get that problem still ;/ hmm
well i used the maker to , but without any good news , i get cannot connect to the authoresation server. :/ but gameserver give on connection attempt from 127.0.0.1 since my orriginal IP is filled in
Please tell me , how to set ip play on lan. (use No-ip Maker)
I run server Aion 4.0 use computer(1) but i need to play on my computer(2) and computer(3)
computer(1) Run server ip= 192.168.1.3
computer(2) ip= 192.168.1.4
computer(3) ip= 192.168.1.5
I use No-ip Maker to set d3d8thk.dll = 192.168.1.3 and copy to computer(2)-(3) set run game .bat to 192.168.1.3 , it can't connect to gameserver.
Please help
Thank you.
i use whats my ip .com to find my ip set the d3 to that my ipconfig is set to that too my bat is set for 127.0.0.1 and i get no game server authorized :*:
else try for localhost the dkll which is included in my 1-click release, this one is definitly working!
by the way if you are using windows 8 you need windows 8 fix:
http://forum.ragezone.com/attachment...g-4-0-win8.rar
As I post today the 4th time ;)
If you are hosting the server on the same PC as your Client you need to start your client with 127.0.0.1 and not your Lan IP
windows vista 64bit, i know that the one in the one clicker works i been using it for test reasons but i want to test the emu now as open with some friends. and i know i have it setup right because this is not my first emu lol i done it with nextgen the 3.9 AL and even dev'ed so i know i have it setup right, the no ip is not working only
Any dll that working with Win XP?
So this will work for the wan ip or not ? , Or its just for lan purpose ?
go to here --> http://forum.ragezone.com/f585/wiki-...server-952453/
and there are all links to LOCALHOST Dlls and the DLL Maker so you can use wan and lan!
Alright
So here is the Deal If your using router you Must Make sure that all ports are forwarded to the computer with the Server Disable that computers self firewall If it is Just your home pc's and isn't open to open internet Aka "Wan ip" If your using CLient on the same pc as the server it's been said you start the bat file with 127.0.0.1. If from another pc on the network computer 2 & 3 they both need to point to Your game servers ip which you state is "192.168.1.3" I find it Much easier to Also Direct in the game servers Network property the ip bound also to the same ip "gameserver.network.client.host = 192.168.1.3" As well as this line "gameserver.network.login.address = 192.168.1.3:9014" in the same file . then in login network property. you will do the same for "loginserver.network.client.host = 192.168.1.3" as well as "loginserver.network.gameserver.host = 192.168.1.3". Now If port forwarding doesn't Ness work for you can always Try to set your Dmz under routers firewall section to that one network address "192.168.1.3" then you should have no issues . With any of those steps also people don't forget to set inside database in login server section and gameserver table the ip in their also needs to be set to that computers lan ip if your opening it up to lan users .