PristonTale Server running on MySQL + Apache [WINDOWS]
This release will cover all things that need to be done in order to run PT Server using MySQL and Apache. Theres no need to modify your server.exe, we will only modify client a bit (if you planing to run clans on your server).
Advanced users and users that planing to put this server online (as really fast server) should install Apache and MySQL 64bit and "configure them for max speed".
As for rest ->
Lets START:
Download and install xampp-win32-1.7.3.exe or newer from:
apache friends - xampp for windows
Use default settings.
Go to Start > All Programs > XAMPP for Windows > XAMPP Control Panel
Press Start next to "Apache" and "MySQL".
Go to http://localhost/security/ select your language and click on Security (top left corner).
Click on => http://localhost/security/xamppsecurity.php <= and you should get this:
Code:
MYSQL SECTION: "ROOT" PASSWORD
MySQL SuperUser: root
New password: yourpassword
Repeat the new password: yourpassword
phpMyAdmin authentication: (*)http ( )cookie
Set a random password for the phpMyAdmin user 'pma': ( )Yes (*)No
---- ----
[*]
(File: C:\xampp\security\mysqlrootpasswd.txt)
You should see:
Code:
The root password was successfully changed. Please restart MYSQL to enable these changes!
Stop MySQL than Start it again from XAMPP Control Panel.
Next application we need to install is mysql-gui-tools-5.0-r17-win32.msi from
MySQL :: Select a Mirror
Nothing to explain here, just install it.
Run:
Start > All Programs > MySQL > MySQL Query Browser
Login with:
Code:
Server Host: localhost Port: 3306
Username: root
Password: yourpassword
OK
File > Open Script
[Scripts and files are on the bottom of this tutorial]
select and execute (green icon with thunder inside) one by one:
AccountDB.sql
BillingDb.sql
BillingLogDb.sql
ClanDB.sql
GameLogDB.sql
ItemLogDB.sql
PCRoom.sql
PCRoomLog.sql
SoD2DB.sql
SodDb.sql
(10 Schema)
Close Script window [x]
Double click on accountdb and put this in Resultset:
Code:
INSERT INTO `AGameUser` VALUES ('a', 'a', null, null, NOW(), (NOW()+INTERVAL 20 YEAR), null, '1', '0', '0', '0', '0', '0', null, '0', null, null, null, null, null, '0', null, null, null, null, null, null, null, null);
Change red letters:
Code:
`AGameUser` first letter (from A to Z only) of your account id(if your account id is coolaccid than you put "C" in place of "A")
a account ID
a account PASSWORD
Accounts are valid for 20 years(NOW()+INTERVAL 20 YEAR) (bigger number make your acc expired because it can't calculate acc expire day)
Create yourself some test accounts (remember to execute this) and lets move on.
Install MyOLEDB3.exe downloaded from ftp://ftp.is.co.za/linux/mysql/Downl...2/MyOLEDB3.exe
Then download and install (MyOLEDB3.exe MUST be installed 1st!) myoledb-3.9.6.msi, dl it from Browse MyOleDB Files on SourceForge.net (Download Now!)
Copy SQL.DLL and CLAN.DLL to your main server folder(place where you have server.exe).
[Scripts and files are on the bottom of this tutorial]
Open SQL.DLL in your HEX Editor, find:
Code:
Provider=MySqlProv;Data Source=%s;SERVER=%s;UID=root;PWD=123456
Change PWD=123456 to yourpassword, be sure you are replacing this password and not inputing anything or else you will destroy DLL.
Now change all other passwords 123456 (Ctrl+F them) to yourpassword, again be sure you are replacing not inputting, if your pass is shorter then fill rest with 0's
Do same thing for CLAN.DLL. (!!)
Now you should have server running on MySQL!
Next part of this tutorial is about clan:
Copy Clan files to your apache web folder (C:\xampp\htdocs)
[Scripts and files are on the bottom of this tutorial]
You should have:
Clan
ClanContent
Sod
Testuser
folders in C:\xampp\htdocs
Download and install mod_aspdotnet Browse mod_aspdotnet Files on SourceForge.net
Open C:\xampp\apache\conf\httpd.conf and add to end:
Code:
LoadModule aspdotnet_module "modules/mod_aspdotnet.so"
AddHandler asp.net asax ascx ashx asmx aspx axd config cs csproj licx rem resources resx soap vb vbproj vsdisco webinfo
<IfModule mod_aspdotnet.cpp>
AspNetMount /Clan "c:/xampp/htdocs/Clan"
Alias /Clan "c:/xampp/htdocs/Clan"
<Directory "c:/xampp/htdocs/Clan">
Options FollowSymlinks ExecCGI
Order allow,deny
Allow from all
DirectoryIndex index.htm index.aspx
</Directory>
AspNetMount /Sod "c:/xampp/htdocs/Sod"
Alias /Sod "c:/xampp/htdocs/Sod"
<Directory "c:/xampp/htdocs/Sod">
Options FollowSymlinks ExecCGI
Order allow,deny
Allow from all
DirectoryIndex index.htm index.aspx
</Directory>
AspNetMount /Testuser "c:/xampp/htdocs/Testuser"
Alias /Testuser "c:/xampp/htdocs/Testuser"
<Directory "c:/xampp/htdocs/Testuser">
Options FollowSymlinks ExecCGI
Order allow,deny
Allow from all
DirectoryIndex index.htm index.aspx
</Directory>
AliasMatch /aspnet_client/system_web/(\d+)_(\d+)_(\d+)_(\d+)/(.*) "C:/Windows/Microsoft.NET/Framework/v$1.$2.$3/ASP.NETClientFiles/$4"
<Directory "C:/Windows/Microsoft.NET/Framework/v*/ASP.NETClientFiles">
Options FollowSymlinks
Order allow,deny
Allow from all
</Directory>
</IfModule>
Download and install (if you don't have this yet) .NET Framework Version 2
if you running on 64bit OS:
Download details: .NET Framework Version 2.0 Redistributable Package (x64)
if you running on 32bit OS:
Download details: .NET Framework Version 2.0 Redistributable Package (x86)
Configure files in C:\xampp\htdocs\Clan
settings.aspx
SODsettings.aspx
change Dim dbpass = "123456" to "yourpassword" (MySQL password)
In clanInsert.aspx (!!)
change:
Code:
Icon_Path = "C:\wamp\www\ClanContent\"
to
Code:
Icon_Path = "C:\xampp\htdocs\ClanContent\"
Download ODBC Driver for MySQL (ntl6mys5.msi), dl it from ODBC Driver for MySQL
Code:
MySQL 5.x Windows 98/NT/2000/XP/2003 x86 32 Bit Y Release 6.1
It must be 32bit!
Code:
Need to register...
Please enter your email address and password (min 6 chars) and confirm both.
Email:
Password:
Confirm Password:
Put some info there and press Register, than do same thing for another page and press continue.
Download:
Code:
∙Multi-Threaded ODBC Driver for MySQL 5.x Client (2,131 KB) Download
And:
Code:
Download Evaluation License
Install it using mys5_lt.lic (license you dl from site)
This is 15 days trial but you can download license anytime you want and copy it to folder where driver was installed (this is temp solution for clans on Apache::ASP because this is only driver that works, I am planing to do something about it but for some reason PT don't want to accept OLEDB (when come to clan files), ODBC is only way to talk with Clan files)
We need to configure this driver now, if you are on 32bit system than run your ODBC from control panel but if you are on 64bits use:
Code:
C:\Windows\SysWOW64\odbcad32.exe
Just put it in RUN and press <enter>
Go to System DNS tab and press ADD
[1st]
Select
Code:
OpenLink Lite for MySQL 5 (Unicode) [6.0]
and press finish.
press next
Code:
Host name: localhost
Port: 3306
Database: clandb
Login ID: root
Password: yourpassword
Keep pressing next until you see finish, do tests there and if everything is OK press finish.
do same thing for 2 more databases:
[2nd]
Press ADD
Select
Code:
OpenLink Lite for MySQL 5 (Unicode) [6.0]
and press finish.
press next
Code:
Host name: localhost
Port: 3306
Database: soddb
Login ID: root
Password: yourpassword
Keep pressing next until you see finish, do tests there and if everything is OK press finish.
[3rd]
Press ADD
Select
Code:
OpenLink Lite for MySQL 5 (Unicode) [6.0]
and press finish.
press next
Code:
Host name: localhost
Port: 3306
Database: sod2db
Login ID: root
Password: yourpassword
Keep pressing next until you see finish, do tests there and if everything is OK press finish.
Now lets test it, Stop than Start Apache using XAMPP Control Panel and try running those from your browser:
http://127.0.0.1/Clan/isClanMember.aspx
http://127.0.0.1/Sod/Sod.aspx
http://127.0.0.1/Testuser/Testuser.aspx
Edit SQL.reg (Ctrl+H and change all 123456 to yourpassword) than save.
[Scripts and files are on the bottom of this tutorial]
and run it (server taking settings from HKEY_CURRENT_USER now).
Open your ptReg.rgx (in your client folder) and change:
Code:
"Server1" "127.0.0.1"
"Server2" "127.0.0.1"
"Server3" "127.0.0.1"
To your server IP or leave it alone if server run on same PC as client.
Open game.exe with HEX Editor and change your old Clan site links to:
Code:
http://%s/Clan/isCheckClanJang.aspx?userid=%s&gserver=%s&ticket=%d
http://%s/Clan/isCheckClanName.aspx?ClName=%s&gserver=%s&ticket=%d
http://%s/Clan/isCheckClanNum.aspx?num=%s&ticket=%d
http://%s/Clan/isCheckClanwon.aspx?gserver=%s&clwon=%s
http://%s/Clan/isClanMember.aspx?userid=%s&gserver=%s&chname=%s&ticket=%d
http://%s/Clan/clanInsertClanWon.aspx?userid=%s&gserver=%s&chname=%s&clName=%s&clwon=%s&clwonUserid=%s&lv=%d&ticket=%d&chtype=%d&chlv=%d&chipflag=%s
http://%s/Clan/clanInsert.aspx?userid=%s&gserver=%s&chname=%s&clName=%s&expl=%s&ticket=%d&chtype=%d&lv=%d
http://%s/Clan/GetAllMyClanMember.aspx?userid=%s&gserver=%s&chname=%s&ticket=%d
http://%s/Clan/clanRemove.aspx?userid=%s&gserver=%s&chname=%s&clName=%s&ticket=%d
http://%s/Clan/clanWonRelease.aspx?userid=%s&gserver=%s&chname=%s&clName=%s&%s&ticket=%d
http://%s/Clan/ClanSubChipUpdate.aspx?chname=%s&gserver=%s&ticket=%d
http://%s/Clan/ClanSubChipRelease.aspx?chname=%s&gserver=%s&ticket=%d
http://%s/Clan/clanChipChange.aspx?chname=%s&gserver=%s&clName=%s&ticket=%d
http://%s/Clan/clanWonSelfLeave.aspx?userid=%s&gserver=%s&chname=%s&clName=%s&ticket=%d
http://%s/Clan/isKflag.aspx?userid=%s&clName=%s&chName=%s&gserver=%s&KFlag=%s&Gubun=%s&ticket=%d
http://%s/Clan/isPFlag.aspx?userid=%s&clName=%s&chName=%s&gserver=%s&PFlag=%s&Gubun=%s&ticket=%d
http://%s/tjboyh/clan_WarehouseRight.php?clName=%s&whRight=%s&ticket=%d
http://%s/tjboyh/updateFlag.php?clName=%s&ticket=%d
http://%s/ClanContent/%s.bmp
http://%s/Clan/sod2info.aspx?userid=%s&chname=%s&gserver=%s&index=%d
You can copy that from from client that I will upload and past it to yours but be sure you are replacing and not adding.
If theres was no errors you can start your server.exe and login.
On default MySQL might by only a bit faster and secure than MSSQL but after customizing it you can get full of its potential! I will write about it some other time.
You can move databases to other servers, to do that change localhost and password in SQL or CLAN dll to your IP (you can move, for example, ClanDB to different PC by changing localhost to IP of that PC and creating that database there).
In future (when I will find time :) ) sod scores will go to score board automatically using Sod.aspx.
There might be some errors, like you can get error 11 when you create 1st clan or invite 1st user but do it again and it will work.
Beside that server log more things to database now, I also removed some useless tables and added some new.
SPECIAL THANKS To Gregoory and bobsobol
This release is FREE. If you bought it you got scammed.
This server is not so fragile as MSSQL server but:
Report your errors and problems here when you resolve something by yourself... post it here too, so other users can do same thing. Ideas and questions are welcome too, questions are sign of interest :)
FILES (all in one, rest are mirrors):
2shared - download PTSERVERonApacheAndMySQL.rar
RapidShare: 1-CLICK Web hosting - Easy Filehosting
Download PTSERVERonApacheAndMySQL.rar from Sendspace.com - send big files the easy way
Download PTSERVERon Apache And MySQL rar
[ame=http://www.zshare.net/download/778151584fce319d/]zSHARE - PTSERVERonApacheAndMySQL.rar[/ame]
_________________UPDATE_________________
SOD Scores will now go automatically to Score Board without any additional application or tool running! All you have to do is:
Install mysql-connector-odbc-5.1.6-win32.msi (always 32bit because PT server is 32bit), it can be dl from MySQL :: Select a Mirror to Start Downloading - mysql-connector-odbc-5.1.6-win32.msi
Lets configure it:
if you are on 64bit OS than run
Code:
C:\Windows\SysWOW64\odbcad32.exe
32bit users start ODBC from control panel.
Go to System DSN and press Add...
Select:
Code:
MySQL ODBC 5.1 Driver
and press finish.
Fill form:
Code:
Data Source Name: Sod
Description:
Server: localhost Port: 3306
User: root
Password: yourpassword
Database: clandb
Press OK.
Copy Sod.aspx (from files I uploaded now) to C:\xampp\htdocs\Sod and replace it. Open it with notepad and change:
Dim dbpass = "123456"
to
Dim dbpass = "yourpassword"
Start MySQL Query Browser,
Drop your soddb schema (select schema and press ctrl+del),
than go to file > Open Script and select SodDb.sql (from files I uploaded now)
(and execute it)
Thats it, scores will now land in score board automatically. Enjoy! ;)
Its simple script (its taking everything from single "SNo") wherever someone in clan or group of clannies go to sod and they kill some monsters they score will go to Secretary Karina (if score is better then the score that already there :) if not than nothing happen). Multiple players can go to same sod room and make score as long as they will survive till the end.
Files from this update are here:
Sod.aspx:
2shared - download Sod.rar
RapidShare: 1-CLICK Web hosting - Easy Filehosting
Download Sod.rar from Sendspace.com - send big files the easy way
Download Sod rar
SodDb.sql
2shared - download SodDb.rar
RapidShare: 1-CLICK Web hosting - Easy Filehosting
Download SodDb.rar from Sendspace.com - send big files the easy way
Download Sod rar
Re: PristonTale Server running on MySQL + Apache [WINDOWS]
I don't get it o.o; .
Why would you want to run MySQL and Apache on Windows when you can run MSSQL and IIS ?
It's like going from a valid, proven, tested solution to alot of problems.
Also that "MySQL is faster and more secure" argument is a joke imho.
As if you could feel any performance difference on a SQL server that has to process only a few requests per minute.
And about more secure, you really think that people knowing how to exploit the few left core (we are talking about the server itself here, not poorly produced 3 party files opening breaches) vulnerabilities will use them on a private PT server ?
If I knew how to gain access over any MSSQL server, I would attack something else lol.
Using Apache/MySQL to port it on Linux kinda made sense, but on Windows not really.
Re: PristonTale Server running on MySQL + Apache [WINDOWS]
Quote:
Originally Posted by
Gregoory
I don't get it o.o; .
Why would you want to run MySQL and Apache on Windows when you can run MSSQL and IIS ?
It's like going from a valid, proven, tested solution to alot of problems.
Also that "MySQL is faster and more secure" argument is a joke imho.
Well MySQL could/should be used for much more, you see how many tables are in "old script files"? Not only that old PT had all schema on different servers O.o
You can get a lot of informations, statistics etc. and put them into web.
I did not create it to use it for SELECT user from accountdb... thats for sure.
Creating PT server using MSSQL is not so easy too, may peoples will tell you that its impossible to run it on 64bit Windows but you can run my files on any windows that support MySQL.
When come to speed and security in MySQL, this is not my imagination not my dream. I read a lot of articles about it and in the end 'everyone' saying that MySQL is better, faster, smarter...
Quote:
Originally Posted by
Gregoory
If I knew how to gain access over any MSSQL server, I would attack something else lol.
But some peoples do :)
Quote:
Originally Posted by
Gregoory
Using Apache/MySQL to port it on Linux kinda made sense, but on Windows not really.
Everything have sense... some peoples hate M$ 'toys' and they will use those files :)
Re: PristonTale Server running on MySQL + Apache [WINDOWS]
Quote:
Originally Posted by
Vormav
Creating PT server using MSSQL is not so easy too, may peoples will tell you that its impossible to run it on 64bit Windows
That's just people to lazy to search for solutions on Google.
FroggPT has been running a 2003 x64 for years now.
I also run a test server on a virtualized 2003 x64 (: .
Quote:
Originally Posted by
Vormav
When come to speed and security in MySQL, this is not my imagination not my dream. I read a lot of articles about it and in the end 'everyone' saying that MySQL is better, faster, smarter...
You didn't read what I said. People concluding that benchmarked the servers for massive use. Alot of requests in a short span, and also alot of complex requests.
Running a PT server, that's not alot of requests, and not complex ones.
That's why I don't think it's worth the trouble switching to MySQL (: .
Quote:
Originally Posted by
Vormav
Everything have sense... some peoples hate M$ 'toys'
That just didn't make any. Calling Microsoft products toys haha, I've really seen everything on these forums.
I'm still not convinced, but yeah that's cool to offer people a choice ^^
Re: PristonTale Server running on MySQL + Apache [WINDOWS]
Quote:
Originally Posted by
Gregoory
I don't get it o.o; .
Why would you want to run MySQL and Apache on Windows when you can run MSSQL and IIS ?
PT server uses very little. Many other Private MMO servers are built specifically for Appache and MySQL... so while IIS and MS-SQL may be the "Microsoft" standard, the Private MMO standard (I would say) is Appache and MySQL. If you want to get more use out of your Dedi, running IIS and Appache and MS-SQL and MySQL is really not a good idea, but if PT "fits the mould" (shudders at the "conformity" of his last statement.) that can be advantageous? Doing it "on the cheap" is also a possibility. The free versions of IIS and MS-SQL fall a little short of the free versions of Appache and MySQL, while I'll admit that if you pay for the full versions, they are equally matched... Let's say (because I'm an F1 fan) Formula 1 cars, of the top teams one track will suit one teams car better and another track will suit another.
Quote:
Originally Posted by
Gregoory
It's like going from a valid, proven, tested solution to alot of problems.
That argument can be thrown at any form of "progress", and can also be fired at Private PT developers using Windows, IIS and MS-SQL... why would you do that when almost every other server runs on Linux, Appache and MySQL. Especially when the rock bottom price for rental of a Linux Dedi (last time I looked) is way lower than a Windows Dedi. (I know, this doesn't get us all the way to Linux)
No offence intended. I know what you mean, but for people who have run other Private MMOs that statement would seem to be the complete opposite of what they are thinking, I suspect.
Quote:
Originally Posted by
Gregoory
Also that "MySQL is faster and more secure" argument is a joke imho.
As if you could feel any performance difference on a SQL server that has to process only a few requests per minute.
And about more secure, you really think that people knowing how to exploit the few left core (we are talking about the server itself here, not poorly produced 3 party files opening breaches) vulnerabilities will use them on a private PT server ?
If I knew how to gain access over any MSSQL server, I would attack something else lol.
Yes, it's marginal, and I'm prepared to accept that there are security issues with MySQL as well as MS-SQL. I suspect some of the Brazilian private servers place massive load on the SQL server with their "Paniel" interfaces, which players seem to spend more time fiddling with than in game playing. XD
Also on security... "the safety in numbers" adage comes to mind. If you are looking to exploit an SQL database, it's better if you don't know that it must be MS-SQL based because it holds a PT server database. Make the hackers have to figure out what SQL server you are running before they can start taking advantage of it's weaknesses. :wink:
Additionally, if an exploit is being taken advantage of in your SQL server, you can usually get OSS developers to take a look at it pretty quickly where commercial developers (like Microsoft, but they are not alone) would rather stick their head in the sand and say "It's not us, it must be something you did, our server is perfect, PLEASE don't tell anyone you'll give us bad press. :'("
That really is just the cultural difference fostered by the two different work environments of the organisations. It's like working for a Cooperative, compared to working for a PLC. Both models work, and work well, but the culture and motivations fostered can be quite different. So give choice a chance eh? :wink:
@Vormav: Outstanding work. I know this has been a big effort and I solute your success.
It may be a step sideways instead of a step forward, but it's movement none-the-less. And it's certainly not a step backwards in my view. Well done. :D:
If nothing else, it gives us some "wiggle room" to help pull PT out of the mud.
Re: PristonTale Server running on MySQL + Apache [WINDOWS]
As I promised I add sod auto-score system to this server, its possible to make same thing for MSSQL, but I am not interested in doing this (however this can be an idea how to do this for mssql hardcore fans ;)).
This probably will be the last update for now on [windows] version. Hopefully next release will be on Linux :)
This release have bit more tables in sql and do bit more logging, (there still might be some minors bugs, however in functionality its nothing less than MSSQL, its more :)). You can for example determinate how many players logged to your server in X period of time. Lets say you are not sure whats best time for BC, unlike in ePT your are not asking players (that will give you to big error ratio) you go to gamelogdb.gameon1007 (year 2010 month 07) and build yourself query that will tell you how many players login to your server and on what time (putting this into month statistic it can give you perfect time for BC, when you have largest number of players). Its simple example but don't underestimate power of statistic, ofc you can do same thing on MSSQL but its not created by default :) (nobody care about SQL and thats wrong :))
@bobsobol ty :)
Re: PristonTale Server running on MySQL + Apache [WINDOWS]
Great :D, <3 mysql/apache
tyvm, will give it a try.
Re: PristonTale Server running on MySQL + Apache [WINDOWS]
Great! but wait... do I need mysql-connector-odbc-5.1.6-win32.msi and myoledb-3.9.6.msi? Aren't they just different ODBC drivers for the same database?
Re: PristonTale Server running on MySQL + Apache [WINDOWS]
Quote:
Originally Posted by
bobsobol
Great! but wait... do I need mysql-connector-odbc-5.1.6-win32.msi and myoledb-3.9.6.msi? Aren't they just different ODBC drivers for the same database?
myoledb-3.9.6.msi is for SQL.DLL and CLAN.DLL communication with databases, you have "Provider=MySQLProv" inside of dlls.
ODBC is an "prehistoric" way of communication with server and it was replaced by OLEDB. But I was not able to run CLAN on OLEDB driver (I am still working on it because its "proper" way of connecting to database).
There are like 3 OLEDB drivers for MySQL, 1 is created by MySQL Devs and its discontinued (but it work for PT server :)), 2nd and 3rd are not free but they have trial versions.
What you mean is probably MySQL Connector-ODBC 5.1.6 (mysql-connector-odbc-5.1.6-win32.msi) and ntl6mys5.msi, OpenLink Driver (I am using it to run clans now).
While clan files running on ODBC (ntl6mys5.msi, OpenLink trial driver)
Sod.aspx is using MySQL ODBC Driver 5.1 because for some reason OpenLink Driver can't understand how Nest a query inside query, inside query, inside query, inside query, inside another query :) and this monster query telling whats your chara name, clan, date of sod score and points (I did not wanted to change DLLs too much). But MySQL ODBC Driver 5.1 is OK with it :) however it don't understand few thing in clan files :) Sooner or later Clan files will run on free driver too.
Re: PristonTale Server running on MySQL + Apache [WINDOWS]
Quote:
Originally Posted by
Vormav
ODBC is an "prehistoric" way of communication with server and it was replaced by OLEDB.
According to Microsoft, and on the Windows platform.
ODBC was IINM created by Microsoft (or possibly IBM, as they where working together a lot then) for DOS and Windows 2/3. It is still the primary database connectivity method on Mac, Linux and BSD. AFAIK.
OLE (which provides the communication platform for OLEDB) is only available on Windows, (AFAIK) and is the method used for storing miscellaneous information in the Windows Clipboard and allows embedding one file at indiscriminate points within another... embedding a PowerPoint diagram or Paint image or Excel graph in a Word document, and know that the Word document will automatically update when you change the embedded documents.
A powerful selling point, and great advance when it was introduced in Windows 3.x. :thumbup1: This "feature" still doesn't exist on most other OS in a standardised manner, though different Office Suites often implement some propitiatory method of achieving it within the confines of their suite.The best implementation of an equivalent that I ever have seen was on the BeOS platform, (which later became PalmOS and lost most of it's "nice" features).
In that platform, you could embed one entire application, and it's associated document into any other application, or document. Unlike OLE Embedding, you didn't have to double click a graph to get the full Excel UI, edit the spreadsheet, save and close for the graph to update in Word. Rather, selecting a graph in your word processor presented the spreadsheets user interface in your word processor and allowed you to edit it right there. There was no delay for the spreadsheet software to load and you could move between the word processor and spreadsheet / graph more freely than alt-tabbing between two applications.
BeOS was like Betamax Video. Incredibly well designed and a complete commercial failure. One of it's greatest failings as a Desktop OS, was that it was POSIX based, but only supported a single user account, just at the time when Windows users where actually asking for an OS that allowed each member of a family to keep their own personal settings separate on the family PC.
Named Pipes and TCP/IP connections are the other common (cross platform) method of accessing databases, and usually via ODBC protocols. But I suspect (with their newer OLEDB and ADO technologies) MS have let their ODBC framework fall behind the advances in the rest of their OS. (Multi-Core / Multiprocessor / Hyperthreaded co-operative distributed processing... all of which MS-OLE was not designed against, and doesn't seem to have been updated to take into account.)
For them, if it isn't a Unique Microsoft patented feature, or a feature of a competitor which is hurting them, (e.g. the good looks of OS-X and CompizFusion before DWM was released, or the clear anti-aliasing of Freetype before they joined forces with Adobe and Apple to create ClearType) it isn't really a selling point, and therefore isn't a priority.
The low down
MySQL has it's own native API library, but linking to that may cause Wine problems... using ODBC will be a pain on current Windows releases but may be the best way to ensure your SQL.dll and Clan.dll work on Windows or Linux (and should work on Mac via DarWine) in the most natural way possible, and would mean that the same interfaces could be used for SyBase, PostgeSQL etc. etc. Using OLEDB will almost certainly cause difficulties for Wine, as OLE one of the worst documented features of the Windows OS (despite it's power and clear advantage; and probably to ensure that it remains uniquely a Windows advantage) and an area where Wine is traditionally poor at replicating.
Either way, I think you have to pick one connection method or another, and stick with it.
Re: PristonTale Server running on MySQL + Apache [WINDOWS]
Quote:
Originally Posted by
bobsobol
[...]using ODBC will be a pain on current Windows releases but may be the best way to ensure your SQL.dll and Clan.dll work on Windows or Linux (and should work on Mac via DarWine) in the most natural way possible, and would mean that the same interfaces could be used for SyBase, PostgeSQL etc. etc. Using OLEDB will almost certainly cause difficulties for Wine, as OLE one of the worst documented features of the Windows OS (despite it's power and clear advantage; and probably to ensure that it remains uniquely a Windows advantage) and an area where Wine is traditionally poor at replicating.
...sql.dll and clan.dll will not take ODBC connection string, they only connecting when theres oledb driver. If I will not be able to convert those .dlls to ODBC connection then this will be pointless unless there is some ODBC<->OLEDB connector. On windows dlls did not work on ODBC connection, when you have dll's in server folder ODBC is skip. I might try to look for this part and see what I can do... the best way might be moving all dll procedures to server.exe but that will take a lot of time and its not guaranteeing anything... I have some time now so I will test few things I have in mind now :)
If theres no way to "emulate" OLEDB on linux then linux release might be doomed ;)
Re: PristonTale Server running on MySQL + Apache [WINDOWS]
Nah...
a) Do not build SQL.dll and Clan.dll into the Server.exe, then we really are pinned into a corner. And they are a mess to disassemble.
b) Follow the exported functions... you must now know what each one accesses in the databases, which are used and when.
I posted a list of the exports in your development thread, what I don't know is what they receive (in registers and on the stack) and what they pass back. (in same, simple return value is usually in EAX, but arguments passed on stack, or the data they point to may be altered)
But you now have the advantage that you know (or can spot) what database calls are made by which function, which should make figuring out what the input and output of those exported functions is much easier.
Get that information, and we can re-write them in C / C++ and share the source... then the database engine doesn't matter at all. I think I've said before, you could use the Windows System Registry or .ini files if you really wanted, and if we really knew what goes in and what comes out of those exported functions.
The code in the middle doesn't matter. Just break when they are called, note down all registers and everything in the stack up to the last <RETURN>, execute until it comes back to the main server, and see what it has changed.
I'll do it if it's too confusing for you (which I doubt) if you could just tell me which SQL strings are associated with which API functions, and what-on-earth those SQL strings do.
Re: PristonTale Server running on MySQL + Apache [WINDOWS]
can you reupload to multiupload.com?
Re: PristonTale Server running on MySQL + Apache [WINDOWS]
Re: PristonTale Server running on MySQL + Apache [WINDOWS]
would best using mysql+linux and not mysql+windows. Sorry if my english is bad ;P