Welcome!

Join our community of MMO enthusiasts and game developers! By registering, you'll gain access to discussions on the latest developments in MMO server files and collaborate with like-minded individuals. Join us today and unlock the potential of MMO server development!

Join Today!

PT Server VM Image - Debian Sid

Initiate Mage
Joined
Aug 29, 2012
Messages
1
Reaction score
0
Can you post these files with scripts and everything without virtual machine?
 
Custom Title Activated
Loyal Member
Joined
Jan 28, 2009
Messages
1,320
Reaction score
616
Yes, that attachment is all you need, server files are not included since it can be any server repack, pack, release or whatever you are using now as long .dll's from that attachment are inside.
 
Newbie Spellweaver
Joined
Mar 5, 2008
Messages
93
Reaction score
29
Vormav, if I may ask... Why doesn't the server exe specify all of the clan scripts in ServerMain as .php extension? Does it really just go by by the Clan and SQL dll files alone? It just seems too easy.

Also, assuming one exports all of these files via usb drive and runs it local on thier pc, does ODBC and all that junk need to be setup?
 
Custom Title Activated
Loyal Member
Joined
Jan 28, 2009
Messages
1,320
Reaction score
616
Server have a lot of Client functions that will never be used, it don't have to specify .asp or .php scripts, Client is getting info from .php result and sending it to Server where this data is checked by SQL and CLAN dlls.

No ODBC need to be setup, its one of 2: SQL.dll or ODBC. If you have even not working SQL.dll in Server folder than ODBC configuration will be skipped. I don't know why anyone would like to use ODBC, without SQL.dll/Clan.dll many things will not work; like tax.

If you planing to move those files to your machine than there is tutorial how to setup it on Debian, all you need is MySQL and web server that supports PHP and MySQL (for clans and sod scores).
 
Newbie Spellweaver
Joined
Mar 5, 2008
Messages
93
Reaction score
29
Pretty straight forward then. So ODBC is pretty much a thing of the past. I take it using something like xampp would be useful in this case. But what about account data? MySQL Express is still required I take it?
 
Custom Title Activated
Loyal Member
Joined
May 26, 2007
Messages
5,545
Reaction score
1,315
[highlight]Warning![/highlight] Namemangel! MS SQL Express, or MySQL? There is no MySQL Express!

MS SQL is not a requirement for these files as Wine (and therefore Linux) does not, and cannot support it. (yet, but if it did, you wouldn't want to run an SQL server under such an emulation layer... it would be like running an IIS server backed by a FoxPro for DOS database :-X)
 
Newbie Spellweaver
Joined
Mar 5, 2008
Messages
93
Reaction score
29
[highlight]Warning![/highlight] Namemangel! MS SQL Express, or MySQL? There is no MySQL Express!

MS SQL is not a requirement for these files as Wine (and therefore Linux) does not, and cannot support it. (yet, but if it did, you wouldn't want to run an SQL server under such an emulation layer... it would be like running an IIS server backed by a FoxPro for DOS database :-X)

Yes, I'm aware of calling it the wrong thing. I have a bad habit of calling it MySQL and I never really got around to breaking the habit. It's like transposing numbers. Anyways, MSSQL Express... correct. I wanted to clarify a few things on this because basically i've never used any VM software until this release. I'll admit it was out of my comfort zone and so I wanted to know as much as possible.

You gotta understand, ODBC is where I come from because of the lack of "sharing" in the past with files. Including "working" sql and clan dlls. So I was basically trying to figure out how the hell this server runs without that and MSSQL Express. Anyways I can see now that Vormav has set up an actual sql db via the workshop and used the sql and clan dll to bypass ODBC.

As for you Vormav, I think you have a real gem here that cuts through all the server setup bullhorn that PT is renown for. Thanks for that. There are however, issues that arise from this. For example Gzuz released a website that links to MSSQL Express for the db ect to set it up. This presents a problem because I'm not exactly sure how to go about redirecting those paramaters because the VM will lock you out of directorys at a certain point. I'm not sure how everything fully maps out because of this. Finding the right areas is therefore difficult.

I do have another question, as I suspect it may be an issue. Once you run a PT server off this setup, is it possible for others outside of the host cpu to connect to it to play? xx2.1x8.56.xxx Is not my WAN IP or LAN IP ovbiously, but I can bypass my LAN problems and easily connect to it and play myself. Is there anything in the settings that would allow for it to act as an external IP, or anything similiar?


As always, your insight is appreciated here.
 
Custom Title Activated
Loyal Member
Joined
May 26, 2007
Messages
5,545
Reaction score
1,315
  1. Can you use other website templates
  2. The VM locks you out of directories so you can't see how it works?
  3. Can I connect from the WAN (outside my NAT)
A1) You can, but you have to change the SQL connection string. Vormav can probably tell you what would be a "good" SQL connection string, but the site you mention is written in VB.net (ASPX) which is not supported under Linux. (not fully) That will give you more problems than the SQL change IMHO. But if you use Vormavs' databse setup on a Windows server, the connection string should be 98% of the work. (rough guess, there are differences in syntax because both servers deviate from "standard SQL" by just a little bit, but it should be like compatibility between IE and Firefox :wink:)
A2) I think you are confused. A virtual machine doesn't hide anything any more than a different PC on your network. What I *think* you *may* be referring to is the mapping of the C: drive to a posix root hosted filesystem (no drive letters for partitions or "volumes") Wine cannot map a C: drive to the posix root "\" because the two path structures are incompatible. Rather, it creates a directory which will be the Windows C: drive for all Wine / Windows applications running on Linux. Those programs cannot see the Linux stuff, because then they would know they where running under emulation and could well "bork" just because they don't *want* you to run them on anything you haven't paid Microsoft for. :wink:
A3) Yes you can, but not the way Vormav has told you to set up the NIC. You need to set it within your NAT through no bridged connection, give it a fixed IP, reserve that IP in your DHCP server and open the port to that IP in your firewall. Most of that is done in the VM configuration outside the guest OS, some may need to be done in the guest (change the IP to match the hostmask of *your* NAT, which Vormav cannot know in advance and I presume that's why he set the one which is probably deliberately outside most NAT ranges) the server needs to be reconfigured (as I know *you* are aware of, but others may not be) and the rest is done in your router / modem configuration interface. I'm sure *you* already know that part too. :D:
 
Custom Title Activated
Loyal Member
Joined
Jan 28, 2009
Messages
1,320
Reaction score
616
You gotta understand, ODBC is where I come from because of the lack of "sharing" in the past with files. Including "working" sql and clan dlls. So I was basically trying to figure out how the hell this server runs without that and MSSQL Express.

Communication work like this:

MySQL DB <=> MySQL OLE DB Provider <=> SQL.dll/Clan.dll <=> server.exe <=>

Funny thing is that MySQL OLE DB Provider is using client library (libMySQL.dll) that was in first release and I thing in any release after that. But never used, it was for older version of MySQL.
So either there was attempt of doing what I did or official server have extra .dll that supports MySQL.

If you replace MySQL with MSSQL than you have exactly same topology of how PT is communicating with MSSQL DB.


There are however, issues that arise from this. For example Gzuz released a website that links to MSSQL Express for the db ect to set it up.

This is a problem, MSSQL and MySQL have different syntax, I had to rewrite almost every query in .dlls, I also changed some tables and columns because they where different from what was in SQL/Clan .dlls for me it looked like sql dump was from different date than .dlls so they where not as much compatible as they should be. There are 2 things you could try.
Dlls can connect to database that is on you windows platform, you would have to change IPs in dlls and Provider string to ODBC string or try , this way you can transfer data to your MSSQL database. However you need to keep in mind that without working MySQL clans will not work.


The main reason why this release "exist" is so we can share our VM legally. Bob was planing to release VM with Windows 2000 on board but I think legal issues are still holding him back.
 
Last edited:
Newbie Spellweaver
Joined
Mar 5, 2008
Messages
93
Reaction score
29
Your insight on the libMySQL.dll is freaking awesome. I never thought anything of it till you gave that example. Very fun thought and wouldn't suprise me. As for the web files at this point... It's fine. No worries.

Your VM release allows the MPT files to work well. Using them outside of a VM however brings up a lot of bugs and issues. So I advise anyone using those files to upload them to a usb drive and transfer them to your VM but keep the clan and sql dll in-tact. I may have more questions down the road soon. In the meantime, look forward to seeing more of your work sir, keep it up!
 
Newbie Spellweaver
Joined
Oct 7, 2012
Messages
18
Reaction score
14
When I click on "file", => "Reload Config", the executable stops respondin'
I tested it on Ubuntu , Debian and CentOS and I had the same problem in all of them.

ps: I tested it in more than one executable ;$

does someone have the same problem I do??
 
Custom Title Activated
Loyal Member
Joined
Jan 28, 2009
Messages
1,320
Reaction score
616
[...]
does someone have the same problem I do??

I do but I don't know what problem is or how to fix it.

You should analyze function that is reloading hotuk.ini under windows and linux to see where crash/stop taking place or where wrong parameters are passed.

I upgraded wine to version 1.5.5 and problem still exists so for now I think only way to fix it is to edit server, unless it can be fixed by "playing" with configuration or installing additional software.
 
Newbie Spellweaver
Joined
Oct 7, 2012
Messages
18
Reaction score
14
hey, thanks for the answer...
I don't like sharing something, but as you helped me a lot, I will share what I think ;)
so, I did some tests here and I "think" the problem is on "FindWindowA" ê.e'
When I "Reload Config" on server.exe, it happens one call on 0056b960, here is the function responsable for the Reload...


0056BA24 68 18886000 PUSH Servidor.00608818 ; /Title = "È£¶± µð¹ö°Å"
0056BA29 6A 00 PUSH 0 ; |Class = 0
0056BA2B FF15 E8F25D00 CALL DWORD PTR DS:[<&USER32.FindWindowA>] ; \FindWindowA
0056BA31 85C0 TEST EAX,EAX
0056BA33 A3 109DAC07 MOV DWORD PTR DS:[7AC9D10],EAX
0056BA38 74 18 JE SHORT Servidor.0056BA52

Fill nops on offsets above and change the condictional jump for jump inconditional and the reload will "function" without error :$

The problem probably is on FindWindowA :)
 
Custom Title Activated
Loyal Member
Joined
Jan 28, 2009
Messages
1,320
Reaction score
616
hey, thanks for the answer...
I don't like sharing something, but as you helped me a lot, I will share what I think ;)
so, I did some tests here and I "think" the problem is on "FindWindowA" ê.e'
When I "Reload Config" on server.exe, it happens one call on 0056b960, here is the function responsable for the Reload...


Code:
0056BA24     68 18886000    PUSH Servidor.00608818                            ; /Title = "È£¶± µð¹ö°Å"
0056BA29     6A 00          PUSH 0                                            ; |Class = 0
0056BA2B     FF15 E8F25D00  CALL DWORD PTR DS:[<&USER32.FindWindowA>]         ; \FindWindowA
0056BA31     85C0           TEST EAX,EAX
0056BA33     A3 109DAC07    MOV DWORD PTR DS:[7AC9D10],EAX
0056BA38     74 18          JE SHORT Servidor.0056BA52

Fill nops on offsets above and change the condictional jump for jump inconditional and the reload will "function" without error :$

The problem probably is on FindWindowA :)

Thanks for solving this problem. It look like Koran letters in title are problematic here, it *could* also (not tested) be fixed by app locale or by changing it to Engish.
But I like the way you did it.


You should consider sharing even more, if everyone here would leech only than this problem would not exist because there would not be priston tale server running on linux in first place :)
 
Custom Title Activated
Loyal Member
Joined
May 26, 2007
Messages
5,545
Reaction score
1,315
I tried that with the beta of this, but it seemed that XWindows was still required to emulate some of the WM communication which is used as IPC for thread sync, even if you disable the actual GUI. (this is normal for many multi-threaded Windows CUI programs, I believe, but most Windows CUI is small enough not to depend on thread sync)
 
Newbie Spellweaver
Joined
May 23, 2013
Messages
13
Reaction score
0
thank very mush, its working!!

win7 untimate 64bit
oracle visualbox 4.2.12

i have some question
- how to translate client ?(ex. start_button , skills_name , etc.)

ps.sorry i'm not good in english.

edit1:
what line mean in hotuk.ini from sever ?
 
Last edited:
Custom Title Activated
Loyal Member
Joined
Jan 28, 2009
Messages
1,320
Reaction score
616
- Most PT text is located in game.exe but some are on textures or in .sin files. Server holds monsters and NPC names. It depends on what you would like to translate. Everything you need is on this forum.

- If you are talking about server screen resolution that go to: Applications->System Tools->Preferences->System Settings-Displays
To stretch screen in VB window go to "View" and select mode you are interested in.
 
Back
Top