summaryrefslogtreecommitdiff
path: root/src/login/login.h
diff options
context:
space:
mode:
authorKevin <Kevin@54d463be-8e91-2dee-dedb-b68131a5f0ec>2008-04-12 08:43:29 +0000
committerKevin <Kevin@54d463be-8e91-2dee-dedb-b68131a5f0ec>2008-04-12 08:43:29 +0000
commit81472b872dfc7f8e22361c7e2fdde2d8f03cf3ce (patch)
treeae9bfb837066520d81487fa0019fe55b0689b145 /src/login/login.h
parent023b3ec3a06128305ff20d5fbe2c2d315d66736e (diff)
downloadhercules-81472b872dfc7f8e22361c7e2fdde2d8f03cf3ce.tar.gz
hercules-81472b872dfc7f8e22361c7e2fdde2d8f03cf3ce.tar.bz2
hercules-81472b872dfc7f8e22361c7e2fdde2d8f03cf3ce.tar.xz
hercules-81472b872dfc7f8e22361c7e2fdde2d8f03cf3ce.zip
TXT code has been re uploaded. Please note this does not change the fact that TXT support has been dropped. There is no guarantee the code base will be managed and it will in the near future be REMOVED. If there is in ANY way TXT support in the future, it will be abstracted through a sql interface so only the sql code has to be maintained.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12572 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/login/login.h')
-rw-r--r--src/login/login.h94
1 files changed, 94 insertions, 0 deletions
diff --git a/src/login/login.h b/src/login/login.h
new file mode 100644
index 000000000..1147d6bb6
--- /dev/null
+++ b/src/login/login.h
@@ -0,0 +1,94 @@
+// Copyright (c) Athena Dev Teams - Licensed under GNU GPL
+// For more information, see LICENCE in the main folder
+
+#ifndef _LOGIN_H_
+#define _LOGIN_H_
+
+#include "../common/mmo.h" // NAME_LENGTH
+
+#define LOGIN_CONF_NAME "conf/login_athena.conf"
+#define LAN_CONF_NAME "conf/subnet_athena.conf"
+
+// supported encryption types: 1- passwordencrypt, 2- passwordencrypt2, 3- both
+#define PASSWORDENC 3
+
+struct login_session_data {
+
+ int account_id;
+ long login_id1;
+ long login_id2;
+ char sex;
+
+ char userid[NAME_LENGTH];
+ char passwd[NAME_LENGTH];
+ int passwdenc;
+ char md5key[20];
+ uint16 md5keylen;
+
+ char lastlogin[24];
+ uint8 level;
+ int version;
+
+ int fd;
+};
+
+struct mmo_char_server {
+
+ char name[20];
+ int fd;
+ uint32 ip;
+ uint16 port;
+ uint16 users; // user count on this server
+ uint16 maintenance; // in maintenance mode?
+ uint16 new_; // allows creating new chars?
+};
+
+struct Login_Config {
+
+ uint32 login_ip; // the address to bind to
+ uint16 login_port; // the port to bind to
+ unsigned int ip_sync_interval; // interval (in minutes) to execute a DNS/IP update (for dynamic IPs)
+ bool log_login; // whether to log login server actions or not
+ char date_format[32]; // date format used in messages
+ bool console; // console input system enabled?
+ bool new_account_flag; // autoregistration via _M/_F ?
+ int start_limited_time; // new account expiration time (-1: unlimited)
+// bool case_sensitive; // are logins case sensitive ?
+ bool use_md5_passwds; // work with password hashes instead of plaintext passwords?
+// bool login_gm_read; // should the login server handle info about gm accounts?
+ int min_level_to_connect; // minimum level of player/GM (0: player, 1-99: GM) to connect
+ bool online_check; // reject incoming players that are already registered as online ?
+ bool check_client_version; // check the clientversion set in the clientinfo ?
+ int client_version_to_connect; // the client version needed to connect (if checking is enabled)
+
+// bool ipban; // perform IP blocking (via contents of `ipbanlist`) ?
+// bool dynamic_pass_failure_ban; // automatic IP blocking due to failed login attemps ?
+// unsigned int dynamic_pass_failure_ban_interval; // how far to scan the loginlog for password failures
+// unsigned int dynamic_pass_failure_ban_limit; // number of failures needed to trigger the ipban
+// unsigned int dynamic_pass_failure_ban_duration; // duration of the ipban
+ bool use_dnsbl; // dns blacklist blocking ?
+ char dnsbl_servs[1024]; // comma-separated list of dnsbl servers
+
+};
+
+struct mmo_account {
+
+ int account_id;
+ char sex;
+ char userid[24];
+ char pass[32+1]; // 23+1 for normal, 32+1 for md5-ed passwords
+ char lastlogin[24];
+ int logincount;
+ uint32 state; // packet 0x006a value + 1 (0: compte OK)
+ char email[40]; // e-mail (by default: a@a.com)
+ char error_message[20]; // Message of error code #6 = Your are Prohibited to log in until %s (packet 0x006a)
+ time_t unban_time; // # of seconds 1/1/1970 (timestamp): ban time limit of the account (0 = no ban)
+ time_t expiration_time; // # of seconds 1/1/1970 (timestamp): Validity limit of the account (0 = unlimited)
+ char last_ip[16]; // save of last IP of connection
+ char memo[255]; // a memo field
+ int account_reg2_num;
+ struct global_reg account_reg2[ACCOUNT_REG2_NUM]; // account script variables (stored on login server)
+};
+
+
+#endif /* _LOGIN_H_ */