To build Soulfind, just type :
make
The Makefile uses DMD by default to build Soulfind (since it's easier
to install, more up-to-date, etc). Set the DC environment variable to
'gdc' to compile with GDC instead :
DC=gdc make
(it's a shame DMD doesn't use the same options as GDC)
Valid targets are :
- all (default target)
- soulfind
- soulsetup
- install
- install_soulfind
- install_soulsetup
You can find gdc at :
http://home.earthlink.net/~dvdfrdmn/d and dmd at :
http://www.digitalmars.com/d/dcompiler.html
You'll also need to have the sqlite3 library installed, since it's the database Soulfind uses to store its configuration and user info.
Case sensitivity for usernames :
Case sensitivity can be configured through soulsetup. When in case-insensitive
mode, the case used is the one used at the first connection
to the server, for example : "User" logs in for the first time. He is
registered as "User". If he later connects as "user", he will still be
shown as "User".
Case-insensitivity will only work for ASCII characters (not even other
iso-8859-15 characters like é/É, à /À, ô/Ô, etc), this is because of a
SQLite limitation and may change someday, or depend on the version of
the SQLite library used.
It is also not recommended to switch to case-insensitive mode with a
database that already has registered users, since if two username with
a different case an a different password are registered, case-insensitivity
will prevent the most recent one from logging into the server.
Soulfind doesn't use a configuration file anymore. Instead, it stores all its configuration in the sqlite database. When starting, it will look for the file soulfind.db, and create it with the following tables if it doesn't exist :
- users
- admins
- conf
Only the 'conf' table is filled with some default values :
- port : 2241
- max_users : 65535
- max_message_size : 16384
- max_offline_pms : 15
- motd : "Soulfind <version>"
You can edit the database yourself with the sqlite3 utility, but the easiest is to use soulsetup instead. You need to add the first admin yourself, since you have to be an admin already to add an admin when connected to the server (though Soulfind runs fine without any admin).
Soulsetup now automatically updates old databases to the new format. Notice that the default filename has changed from "user.db" in older versions to "/var/db/soulfind/soulfind.db".
Contact me at seeschloss@seeschloss.org if you have anything to say.
