Mir3 and MySQL, been trying

Join Discord

Mrklawz

Dedicated Member
Dedicated Member
May 9, 2003
72
0
103
As Solidcore got SQL mir2 to work on MySQL i thought i'd try and see if any difference could be seen with EI, but even though the database transfer was simple enough and i think i have reconfigured the ini files correctly i am getting starttimer exception errors in the game server which would suggest either a bad database info entry in !setup.txt or wrong ports. I believe MsSQL assigns ports automaticly but MySQL uses a fixed port? theres a field to change from the default 3306, could this be where the problem is?
All ports set in the ini's are just as they are in Mssql, i just changed entries in !setup.txt and in the DBserv config panel to point to the MySQL server instead. One other thing, i dont have a password set for root on the MySQL server right now, it didnt seem to effect the SQLMIR install in any way but is it possible it might be causing a prob with mir3?

Indulge me with this MySQL fetish, its so much less hungry on resources than MSSQL, its gotta be worth a try just to see if theres any performance change
 

Kaori

LOMCN MiR3 Queen!
VIP
Jun 3, 2004
3,584
38
285
Canada
you have to use mssql on game server cuz it doesn't use ODBC.
the db server you can use mysql but you have to hex the db server on a date format (mysql uses NOW()). but after all that you will still get a lot of transaction log errors... other than that.. it works fine.
 
Upvote 0

Mrklawz

Dedicated Member
Dedicated Member
May 9, 2003
72
0
103
Kaori said:
you have to use mssql on game server cuz it doesn't use ODBC.
the db server you can use mysql but you have to hex the db server on a date format (mysql uses NOW()). but after all that you will still get a lot of transaction log errors... other than that.. it works fine.

Tnx for the info Kaori, i guess i will be pushing SQL to another machine then as there doesnt seem to be any point if there are still log errors. Can someone point me in the direction of a post on how to setup the MSSQL properly on another machine and get Mir to see it? i cant seem to find the right search keywords to get the answers.
 
Upvote 0

Kaori

LOMCN MiR3 Queen!
VIP
Jun 3, 2004
3,584
38
285
Canada
another machine on your network or somewhere outside? it's easy to point the odbc to your network and also the !setup.txt to your network.
 
Upvote 0

Mrklawz

Dedicated Member
Dedicated Member
May 9, 2003
72
0
103
Kaori said:
another machine on your network or somewhere outside? it's easy to point the odbc to your network and also the !setup.txt to your network.

Nvm, i worked it out, didnt realise it would be so easy and was looking for all sorts of awkward instructions lol.

All working now, got MSSQL running both MIRSQL and Mir3 on another machine on my lan plus got the option of using MySQL for MIRSQL too. Would still like to get Mir3 working with MySQL just for the chalenge tbh.

Any pointers on getting the eiserver.exe to see MySQL?
I've got a functioning ODBC type for the database but adding it to !setup.txt is obviously not enough so you said. The DBsrv.eve seems to be fine after adding the new MySQL ODBC entry. So i guess its down to the nitty gritty of hexing ><

Heyalp!
 
Upvote 0
Mar 23, 2003
922
4
265
Cairo Orbital Defence Platform
Mrklawz said:
Nvm, i worked it out, didnt realise it would be so easy and was looking for all sorts of awkward instructions lol.

All working now, got MSSQL running both MIRSQL and Mir3 on another machine on my lan plus got the option of using MySQL for MIRSQL too. Would still like to get Mir3 working with MySQL just for the chalenge tbh.

Any pointers on getting the eiserver.exe to see MySQL?
I've got a functioning ODBC type for the database but adding it to !setup.txt is obviously not enough so you said. The DBsrv.eve seems to be fine after adding the new MySQL ODBC entry. So i guess its down to the nitty gritty of hexing ><

Heyalp!

As kaori explained, you'll also get date errors with the SQLMIR files. It's part of the reason why trying to use MySQL is so stupid. If MSSQL isn't responding fast enough, there are simple things you can to to help speed it up. Disable the logging, cut down on the unneeded data, etc. Give it a high priority in task manager.

And yes, the EiServer, along with the SQLMIR files both use the wemade SQL libraries. Having MySQL work on SQLMIR is a miracle, and that's the reason you have to use the older driver. As you will have guessed, the older driver does less than the newer one.
 
Upvote 0

Mrklawz

Dedicated Member
Dedicated Member
May 9, 2003
72
0
103
o0 i'm not using the old driver, Solid is. I'm using latest versions of all files but i use win XP pro not 2000 server. I installed the 2005 mssql eval server and noticed a bit of a performance gain over the old 2000 eval but the system overheads were still apreciably higher than MySQL.

I think people are missing the point here, from my experience so far MySQL seems idealy suited to people who want to run a server for a small player base on a fairly low spec machine or just in loopback mode. I dont doubt that MSSQL is better for large player databases when run on a high spec box with plenty of headroom specwise but not everyone wants to run a server for 100's of players.

Personaly, i just have it rigged for my lan and use it more as a thing to experiment with and because of the subjects you have to become knowledgable in to operate it. People ask mountain climbers why they climb Everest, " 'Cos it's there" is the answer they get. Why do i want to try an get EI to work with MySQL? Because MIRSQL does and for the hell of it.

Now instead of putting a downer on the subject, and rubbishing the idea of using MySQL, why not try and add to the solution and offer some ideas not critisisms. Its not like there's much happening in the MIRSQL dept while we wait for the next version of the server exe's to come back from the Chinese is it. At least the EI server files arnt protected like the MIRSQL ones and can be ripped out. Unfortunatley for me I dont have Delphi under my resume but im pretty sure theres a few members here who do and a quick Blast with DeDe might yield some info. Auron, you've said above that both servers use the Wemade SQL libs, by that token then as MIRSQL is working then so EI could be made to also. Its just a matter of who can crack it. In this case, if i was in the MSSQL camp, i for one wouldnt mind if i was proved wrong and MySQL turned out to be a good alternative.

Just for the record my specs are

Game Server ~ XP2100 1gig ddr ram Xp pro SP2
Client ~ ditto GameServer
SQL server ~ 1.4 tbird 512 ram Xp Pro SP2 *edit* ditched XP for 2003 server ent now
Gateway ~ Old Celeron 333 128 pc100 running Clark Connect 2.1 Linux Distro

With that i still notice massive performance improvements with MySQL over MSSQL running MIRSQL localy. Although i dont have the dreaded DBwait errors that some have, Performance of EI isnt what i would like and i'm sure could be better.

I think this "spam" is more worthy that the "where can i get EI/Mir server files" or "how do i make a server?" posts normaly in here and just like MySQL/MIRSQL has been why not try and get it working or arn't you all up to for the chalenge? Sorry but theres no such thing as "cant be done" when it comes to this, it should be more like "its not going to be easy, but...." After all, everyone said before that MIRSQL wouldnt work with MySQL just like once upon a time a man said the world was round and the earth revolved around the sun and he was laughed at.

BTW is there a guide/post on streamlining MSSQL to the absolute minimum for MSSQL? i tried searching for relevant info but cant seem to find the right keyword. I know to set priority higher etc but are there any MSSQL specific tweaks that can be made to improve things in the meantime?
 
Last edited:
Upvote 0

Kaori

LOMCN MiR3 Queen!
VIP
Jun 3, 2004
3,584
38
285
Canada
"where do I get 2005 mssql" lol spam.. don't tell anyone.. we can search.

well no point using mysql for eiserver.exe cuz it requires mssql for monster/stditem/magic tables. (COMMONDBLOC or whatever.. that's for MSSQL, no way of changing it) built-in driver...

I don't see why you want to use mysql... mssql's enterprise manager is a lot easier to use... setting up user accounts, adding backup plans.

so you gave up mysql... good thing to see
 
Upvote 0

Mrklawz

Dedicated Member
Dedicated Member
May 9, 2003
72
0
103
Kaori said:
"where do I get 2005 mssql" lol spam.. don't tell anyone.. we can search.

well no point using mysql for eiserver.exe cuz it requires mssql for monster/stditem/magic tables. (COMMONDBLOC or whatever.. that's for MSSQL, no way of changing it) built-in driver...

I don't see why you want to use mysql... mssql's enterprise manager is a lot easier to use... setting up user accounts, adding backup plans.

so you gave up mysql... good thing to see

I been Using TOADMySQL as the equivilent for the Enterprise manager, pretty useful as it goes and a damn sight better than phpMyAdmin. Wish i found it a couple of months ago when i had to enter over 1000 records with about 15 fields in to a BD i was working on. phpmyadmin sucks badly then lol.
 
Upvote 0
Mar 23, 2003
922
4
265
Cairo Orbital Defence Platform
I was going to post this 2 days ago, but i had to leave for my Aunt's funeral early.

Optimizing is simple stuff really, deleting deleted char's records, etc. Removing unneeded broadcast protocols, removing unneeded users, deleting example DBs. All the basic stuff.

Also, you talk of overhead. This itself is designed to increase performance. You see, it takes less power to allocate all the RAM you'll need at the start, than having to keep munching away with every record loaded. It's like .NET. You think it's using a lot of ram, but what where you doing with it before? Nothing, is the answer.

--

Yes, this post is with merit, but how can you say every noob who wants help's post will not be spam?

--

Also, the WeMade libs are different versions. It's like comparing Windows 3.1 to Windows 2000.
 
Upvote 0

Mrklawz

Dedicated Member
Dedicated Member
May 9, 2003
72
0
103
Yeah i know what your saying about the resource usage dropping back down, i have task manager set to view the max and min mem settings and it does peak then settle down after a bit. My main reason for trying to get MySQL working with EI was more to do with working out if and how it could be done rather than actualy using it that way. I dont intend to run an open server for EI anyway and the MirSQL would only be for a very small member database but it would be nice to log onto now and again for a change of scenery.

It would also mean i wouldn't need to dual boot my SQL server any more. Currently its running Fedora (redhat9) it where i test my php bits and bobs b4 upping em to my Host server, its set up as an exact copy of the Host's so i can experiment without having to kill the real thing lol. The other Drive boots into Win Server 2003 ent, its pretty much got same functionality as the Linux Part but tbh i hate the IIS control panel compared to Webadmin on the linux box, its realy only theres as a mule for the MSSQL to ride on. Also the 2000 SQLEVAL wont install on 2003 so i'm using Express 2005 atm but for some reason i'm getting odd problems loggin in to the SQL server remotely for now.

The comment about the "noob" posts wasnt realy a dig at true noobs, but more aimed at the lazy goons who dont know what a search button is for and want everything handed to em in on nice big handy package without any thought involved, sorry if you got wrong end of stick lol.
 
Upvote 0
Mar 23, 2003
922
4
265
Cairo Orbital Defence Platform
Mrklawz said:
Yeah i know what your saying about the resource usage dropping back down, i have task manager set to view the max and min mem settings and it does peak then settle down after a bit. My main reason for trying to get MySQL working with EI was more to do with working out if and how it could be done rather than actualy using it that way. I dont intend to run an open server for EI anyway and the MirSQL would only be for a very small member database but it would be nice to log onto now and again for a change of scenery.

It would also mean i wouldn't need to dual boot my SQL server any more. Currently its running Fedora (redhat9) it where i test my php bits and bobs b4 upping em to my Host server, its set up as an exact copy of the Host's so i can experiment without having to kill the real thing lol. The other Drive boots into Win Server 2003 ent, its pretty much got same functionality as the Linux Part but tbh i hate the IIS control panel compared to Webadmin on the linux box, its realy only theres as a mule for the MSSQL to ride on. Also the 2000 SQLEVAL wont install on 2003 so i'm using Express 2005 atm but for some reason i'm getting odd problems loggin in to the SQL server remotely for now.

The comment about the "noob" posts wasnt realy a dig at true noobs, but more aimed at the lazy goons who dont know what a search button is for and want everything handed to em in on nice big handy package without any thought involved, sorry if you got wrong end of stick lol.


Well, it should be possible, in theory, just so long as your ODBC driver can translate the commands effectively. As for 2000 eval not installing, that's odd, as it installed on mine. Also, microsoft have probably changed the rekmote login in 2005, as it was a major flaw of 2000.

A good ODBC driver, and determination will help you succeed.
 
Upvote 0

spartekas

LOMCN Veteran
Veteran
Sep 21, 2009
694
6
105
USA
11 Years too Late. 2.3TD uses Mysql its in the sql inserts. Its in the Release. This makes alot of since. sql2005 wont help.

3.55 uses OBDC, and when you Upsize a database from microsoft Access to sql2000-sql2005 it uses OBDC also, probly Mysql also. Its confusing as Mysql is used alot more for Websites. Maybe 3.38 holley or older were it cant use OBDC thats what I getting from reading this.
 
Upvote 0