Newbie Spellweaver
- Joined
- Nov 22, 2006
- Messages
- 10
- Reaction score
- 2
Client:
Servers:
Emulator:
Database:
Database Setup
You can connect to your mysql DB with the standard mysql-client which is part of mysql. In some distributions this is an optional package.
Open a shell (linux) or commandbox (windows) and enter:
After you entered your password you should see something like this:
You can leave this mysql-client by typing:
Create the DB
First you need to create a new Database:
If something goes wrong when you are loading your DB or development and you dont know whats happend you can simply DELETE your DB with:
Loading the DB
Download the database above. If you have a clean DB you should import the named SQL files to get the server running.
* load_static.sql - Load all of the static data (data which is not tied to a player)
* load_empty_users.sql - Create empty user data tables (for players)
* prime_db.sql - Load some 'default' data into the empty user data tables
At this point in development, it is nescesary to load all of the SQL files above into your DB, in the order listed above.
Load the DB within one mysql session:
Or you can simply *pipe-in" each of this SQL files with:
Creating an Account
Once you have an empty DB created, you will want to create an account so you can log in. Right now this is done directly in the database:
Client Setup
Getting the EVE client to connect to a private server is relatively easy, what has been more difficult is getting it to never connect to the real servers for anything. Basically, when you start the client, it makes several connects to the live servers, and that is what we need to circumvent, otherwise they have a clear record in their log that your IP was connecting to a private server.
Remember to start the client once then exit the login screen to create the prefs.ini file.
Edit prefs.ini:
Script Mods
Now you need to make a quick change to a python script to prevent the login screen from "calling home" asking for patch information, and other such activities.
Open up stdlib/urllib2.py
Find 'def urlopen', and replace the body (up through def install_opener, leave blank line) of that method with this:
Connect To Server
Now your client is set up to not talk to the live servers. All you need to do is click in the server name field, and type in the IP address of your server (127.0.0.1) and off you go. :
You must be registered to see links
Servers:
You must be registered to see links
You must be registered to see links
Emulator:
You must be registered to see links
Database:
You must be registered to see links
Database Setup
You can connect to your mysql DB with the standard mysql-client which is part of mysql. In some distributions this is an optional package.
Open a shell (linux) or commandbox (windows) and enter:
Code:
$ mysql -u <eveuser> -p <evedb>
Code:
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 91 to server version: 5.0.24a-Debian_9-log
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>
Code:
quit
First you need to create a new Database:
Code:
CREATE DATABASE <evedb>;
Code:
DROP DATABASE <evedb>;
Download the database above. If you have a clean DB you should import the named SQL files to get the server running.
* load_static.sql - Load all of the static data (data which is not tied to a player)
* load_empty_users.sql - Create empty user data tables (for players)
* prime_db.sql - Load some 'default' data into the empty user data tables
At this point in development, it is nescesary to load all of the SQL files above into your DB, in the order listed above.
Load the DB within one mysql session:
Code:
SET FOREIGN_KEY_CHECKS = 0;
SOURCE /your/path/load_static.sql;
SOURCE /your/path/load_empty_users.sql;
SOURCE /your/path/prime_db.sql;
SET FOREIGN_KEY_CHECKS = 1;
Code:
$ mysql -f -u <eveuser> -p <evedb> < ../path/to/the/sql/files/eachsqlfile.sql
Once you have an empty DB created, you will want to create an account so you can log in. Right now this is done directly in the database:
Code:
INSERT INTO account (accountName,role,password) VALUES('your_account_name', 4294967231, PASSWORD('your_password'));
Getting the EVE client to connect to a private server is relatively easy, what has been more difficult is getting it to never connect to the real servers for anything. Basically, when you start the client, it makes several connects to the live servers, and that is what we need to circumvent, otherwise they have a clear record in their log that your IP was connecting to a private server.
Remember to start the client once then exit the login screen to create the prefs.ini file.
Edit prefs.ini:
Code:
advanced=1
debug=1
network=1
networkAdvanced=1
port=26001
Now you need to make a quick change to a python script to prevent the login screen from "calling home" asking for patch information, and other such activities.
Open up stdlib/urllib2.py
Find 'def urlopen', and replace the body (up through def install_opener, leave blank line) of that method with this:
Code:
def urlopen(url, data=None):
global _opener
rewrites = {
'http://www.eve-online.com' : 'http://127.0.0.1:8000',
'http://myeve.eve-online.com' : 'http://127.0.0.1:8000/myeve',
'https://secure.eve-online.com' : 'http://127.0.0.1:8000/secure',
'http://support.eve-online.com' : 'http://127.0.0.1:8000/support'
}
ourl = url.get_full_url()
matched = False
for k,v in rewrites.items():
if ourl[:len(k)] == k:
newurl = v+ourl[len(k):]
url = Request(newurl, url.get_data(), url.get_headers())
matched = True
if not matched:
url = None #prevent it from going anywhere we are not in control of
if _opener is None:
_opener = build_opener()
return _opener.open(url, data)
Now your client is set up to not talk to the live servers. All you need to do is click in the server name field, and type in the IP address of your server (127.0.0.1) and off you go. :
Last edited: