// initialize int inter_init_sql(const char *file) { //int i; inter_config_read(file); //DB connection initialized sql_handle = Sql_Malloc(); ShowInfo(read_message("Source.char.inter_init_sql")); if(SQL_ERROR == Sql_Connect(sql_handle, char_server_id, char_server_pw, char_server_ip, (uint16)char_server_port, char_server_db)) { Sql_ShowDebug(sql_handle); Sql_Free(sql_handle); exit(EXIT_FAILURE); } if(*default_codepage) { if(SQL_ERROR == Sql_SetEncoding(sql_handle, default_codepage)) Sql_ShowDebug(sql_handle); } wis_db = idb_alloc(DB_OPT_RELEASE_DATA); inter_guild_sql_init(); inter_storage_sql_init(); inter_party_sql_init(); inter_pet_sql_init(); inter_homunculus_sql_init(); inter_mercenary_sql_init(); inter_elemental_sql_init(); inter_mail_sql_init(); inter_auction_sql_init(); geoip_readdb(); msg_config_read("conf/messages.conf", false); return 0; }
// initialize int inter_init_sql (const char *file) { inter_config_read (file); //DB connection initialized sql_handle = Sql_Malloc(); ShowInfo ("Conectando à DB de chars.... (Character Server)\n"); if (SQL_ERROR == Sql_Connect (sql_handle, char_server_id, char_server_pw, char_server_ip, (uint16) char_server_port, char_server_db)) { Sql_ShowDebug (sql_handle); Sql_Free (sql_handle); exit (EXIT_FAILURE); } if (*default_codepage) { if (SQL_ERROR == Sql_SetEncoding (sql_handle, default_codepage)) Sql_ShowDebug (sql_handle); } ShowStatus ("Conectado ao banco de dados principal '"CL_WHITE"%s"CL_RESET"'.\n", char_server_db); Sql_PrintExtendedInfo (sql_handle); wis_db = idb_alloc (DB_OPT_RELEASE_DATA); inter_guild_sql_init(); inter_storage_sql_init(); inter_party_sql_init(); inter_pet_sql_init(); inter_homunculus_sql_init(); inter_mercenary_sql_init(); inter_elemental_sql_init(); inter_accreg_sql_init(); inter_mail_sql_init(); inter_auction_sql_init(); geoip_readdb(); msg_config_read ("conf/msg_athena.conf"); return 0; }
// initialize int inter_init_sql(const char *file) { //int i; ShowInfo ("interserver initialize...\n"); inter_config_read(file); //DB connection initialized sql_handle = Sql_Malloc(); ShowInfo("Connect Character DB server.... (Character Server)\n"); if( SQL_ERROR == Sql_Connect(sql_handle, char_server_id, char_server_pw, char_server_ip, (uint16)char_server_port, char_server_db) ) { Sql_ShowDebug(sql_handle); Sql_Free(sql_handle); exit(EXIT_FAILURE); } if( *default_codepage ) { if( SQL_ERROR == Sql_SetEncoding(sql_handle, default_codepage) ) Sql_ShowDebug(sql_handle); } wis_db = idb_alloc(DB_OPT_RELEASE_DATA); inter_guild_sql_init(); inter_storage_sql_init(); inter_party_sql_init(); inter_pet_sql_init(); inter_homunculus_sql_init(); inter_mercenary_sql_init(); inter_accreg_sql_init(); inter_mail_sql_init(); inter_auction_sql_init(); return 0; }
/*========================================== * read config file *------------------------------------------*/ static int inter_config_read(const char* cfgName) { int i; char line[1024], w1[1024], w2[1024]; FILE* fp; fp = fopen(cfgName, "r"); if(fp == NULL) { ShowError("File not found: %s\n", cfgName); return 1; } ShowInfo("reading file %s...\n", cfgName); while(fgets(line, sizeof(line), fp)) { i = sscanf(line, "%[^:]: %[^\r\n]", w1, w2); if(i != 2) continue; if(!strcmpi(w1,"char_server_ip")) { strcpy(char_server_ip,w2); ShowStatus ("set char_server_ip : %s\n", w2); } else if(!strcmpi(w1,"char_server_port")) { char_server_port = atoi(w2); ShowStatus ("set char_server_port : %s\n", w2); } else if(!strcmpi(w1,"char_server_id")) { strcpy(char_server_id,w2); ShowStatus ("set char_server_id : %s\n", w2); } else if(!strcmpi(w1,"char_server_pw")) { strcpy(char_server_pw,w2); ShowStatus ("set char_server_pw : %s\n", w2); } else if(!strcmpi(w1,"char_server_db")) { strcpy(char_server_db,w2); ShowStatus ("set char_server_db : %s\n", w2); } else if(!strcmpi(w1,"default_codepage")) { strcpy(default_codepage,w2); ShowStatus ("set default_codepage : %s\n", w2); } else if(!strcmpi(w1,"party_share_level")) party_share_level = atoi(w2); else if(!strcmpi(w1,"log_inter")) log_inter = atoi(w2); else if(!strcmpi(w1,"main_chat_nick")) safestrncpy(main_chat_nick, w2, sizeof(main_chat_nick)); else if(!strcmpi(w1,"import")) inter_config_read(w2); } fclose(fp); ShowInfo ("done reading %s.\n", cfgName); return 0; }
/*========================================== * read config file *------------------------------------------*/ static int inter_config_read(const char* cfgName) { int i; char line[1024], w1[1024], w2[1024]; FILE* fp; fp = fopen(cfgName, "r"); if(fp == NULL) { ShowError("Arquivo não encontrado: %s\n", cfgName); return 1; } ShowInfo("Lendo arquivo %s...\n", cfgName); while(fgets(line, sizeof(line), fp)) { i = sscanf(line, "%[^:]: %[^\r\n]", w1, w2); if(i != 2) continue; if(!strcmpi(w1,"char_server_ip")) { strcpy(char_server_ip,w2); ShowStatus ("Definindo char_server_ip como: "CL_WHITE"%s"CL_RESET"\n", w2); } else if(!strcmpi(w1,"char_server_port")) { char_server_port = atoi(w2); ShowStatus ("Definindo char_server_port como: "CL_WHITE"%s"CL_RESET"\n", w2); } else if(!strcmpi(w1,"char_server_id")) { strcpy(char_server_id,w2); ShowStatus ("Definindo char_server_id como: "CL_WHITE"%s"CL_RESET"\n", w2); } else if(!strcmpi(w1,"char_server_pw")) { strcpy(char_server_pw,w2); ShowStatus ("Definindo char_server_pw como: "CL_WHITE"%s"CL_RESET"\n", w2); } else if(!strcmpi(w1,"char_server_db")) { strcpy(char_server_db,w2); ShowStatus ("Definindo char_server_db como: "CL_WHITE"%s"CL_RESET"\n", w2); } else if(!strcmpi(w1,"default_codepage")) { strcpy(default_codepage,w2); ShowStatus ("set default_codepage : %s\n", w2); } else if(!strcmpi(w1,"party_share_level")) party_share_level = atoi(w2); else if(!strcmpi(w1,"log_inter")) log_inter = atoi(w2); else if(!strcmpi(w1,"main_chat_nick")) safestrncpy(main_chat_nick, w2, sizeof(main_chat_nick)); else if(!strcmpi(w1,"import")) inter_config_read(w2); } fclose(fp); ShowInfo ("Finalizada leitura de "CL_WHITE"%s"CL_RESET".\n", cfgName); return 0; }
// initialize int inter_init(const char *file) { //int i; ShowInfo ("interserver initialize...\n"); inter_config_read(file); //DB connection initialized mysql_init(&mysql_handle); ShowInfo("Connect Character DB server.... (Character Server)\n"); if(!mysql_real_connect(&mysql_handle, char_server_ip, char_server_id, char_server_pw, char_server_db ,char_server_port, (char *)NULL, 0)) { //pointer check ShowFatalError("%s\n",mysql_error(&mysql_handle)); exit(1); } else if (inter_sql_test()) { ShowStatus("Connect Success! (Character Server)\n"); } mysql_init(&lmysql_handle); ShowInfo("Connect Character DB server.... (login server)\n"); if(!mysql_real_connect(&lmysql_handle, login_server_ip, login_server_id, login_server_pw, login_server_db ,login_server_port, (char *)NULL, 0)) { //pointer check ShowFatalError("%s\n",mysql_error(&lmysql_handle)); exit(1); }else { ShowStatus ("Connect Success! (Login Server)\n"); } if(strlen(default_codepage) > 0 ) { sprintf( tmp_sql, "SET NAMES %s", default_codepage ); if (mysql_query(&mysql_handle, tmp_sql)) { ShowSQL("DB error - %s\n",mysql_error(&mysql_handle)); ShowDebug("at %s:%d - %s\n", __FILE__,__LINE__,tmp_sql); } if (mysql_query(&lmysql_handle, tmp_sql)) { ShowSQL("DB error - %s\n",mysql_error(&lmysql_handle)); ShowDebug("at %s:%d - %s\n", __FILE__,__LINE__,tmp_sql); } } wis_db = numdb_init(); inter_guild_sql_init(); inter_storage_sql_init(); inter_party_sql_init(); inter_pet_sql_init(); inter_accreg_sql_init(); //printf ("interserver timer initializing : %d sec...\n",autosave_interval); //i=add_timer_interval(gettick()+autosave_interval,inter_save_timer,0,0,autosave_interval); return 0; }
/*========================================== * read config file *------------------------------------------*/ static int inter_config_read(const char* cfgName) { int i; char line[1024], w1[1024], w2[1024]; FILE* fp; fp = fopen(cfgName, "r"); if(fp == NULL) { ShowError("File not found: %s\n", cfgName); return 1; } while(fgets(line, sizeof(line), fp)) { i = sscanf(line, "%[^:]: %[^\r\n]", w1, w2); if(i != 2) continue; if(!strcmpi(w1,"char_server_ip")) { strcpy(char_server_ip,w2); } else if(!strcmpi(w1,"char_server_port")) { char_server_port = atoi(w2); } else if(!strcmpi(w1,"char_server_id")) { strcpy(char_server_id,w2); } else if(!strcmpi(w1,"char_server_pw")) { strcpy(char_server_pw,w2); } else if(!strcmpi(w1,"char_server_db")) { strcpy(char_server_db,w2); } else if(!strcmpi(w1,"default_codepage")) { strcpy(default_codepage,w2); } else if(!strcmpi(w1,"party_share_level")) party_share_level = (unsigned int)atof(w2); else if(!strcmpi(w1,"log_inter")) log_inter = atoi(w2); else if(!strcmpi(w1,"import")) inter_config_read(w2); } fclose(fp); ShowInfo ("Done reading %s.\n", cfgName); return 0; }
// 初期化 int inter_init(const char *file) { int i; inter_config_read(file); inter_storage_init(); inter_party_init(); inter_guild_init(); inter_pet_init(); i=add_timer_interval(gettick()+10,inter_save_timer,0,0,autosave_interval); return 0; }
/*========================================== * read config file *------------------------------------------*/ static int inter_config_read(const char *cfgName) { int i; char line[1024], w1[1024], w2[1024]; FILE *fp; fp = fopen(cfgName, "r"); if(fp == NULL) { ShowError(read_message("Source.reuse.reuse_file_not_found"), cfgName); return 1; } while(fgets(line, sizeof(line), fp)) { i = sscanf(line, "%[^:]: %[^\r\n]", w1, w2); if(i != 2) continue; if(!strcmpi(w1,"char_server_ip")) { strcpy(char_server_ip,w2); } else if(!strcmpi(w1,"char_server_port")) { char_server_port = atoi(w2); } else if(!strcmpi(w1,"char_server_id")) { strcpy(char_server_id,w2); } else if(!strcmpi(w1,"char_server_pw")) { strcpy(char_server_pw,w2); } else if(!strcmpi(w1,"char_server_db")) { strcpy(char_server_db,w2); } else if(!strcmpi(w1,"default_codepage")) { strcpy(default_codepage,w2); } else if(!strcmpi(w1,"party_share_level")) party_share_level = atoi(w2); else if(!strcmpi(w1,"party_family_share_level")) party_family_share_level = atoi(w2); else if(!strcmpi(w1,"log_inter")) log_inter = atoi(w2); else if(!strcmpi(w1,"db_name")) safestrncpy(tmp_db_name, w2, sizeof(tmp_db_name)); else if(!strcmpi(w1,"import")) inter_config_read(w2); } fclose(fp); ShowConf(read_message("Source.reuse.reuse_loadfile_ok"), cfgName); return 0; }
// initialize int inter_init_sql(const char *file) { inter_config_defaults(); inter_config_read(file); //DB connection initialized sql_handle = Sql_Malloc(); ShowInfo("Connect Character DB server.... (Character Server)\n"); if( SQL_ERROR == Sql_Connect(sql_handle, char_server_id, char_server_pw, char_server_ip, (uint16)char_server_port, char_server_db) ) { ShowError("Couldn't connect with username = '******', password = '******', host = '%s', port = '%d', database = '%s'\n", char_server_id, char_server_pw, char_server_ip, char_server_port, char_server_db); Sql_ShowDebug(sql_handle); Sql_Free(sql_handle); exit(EXIT_FAILURE); } if( *default_codepage ) { if( SQL_ERROR == Sql_SetEncoding(sql_handle, default_codepage) ) Sql_ShowDebug(sql_handle); } wis_db = idb_alloc(DB_OPT_RELEASE_DATA); inter_config_readConf(); inter_guild_sql_init(); inter_storage_sql_init(); inter_party_sql_init(); inter_pet_sql_init(); inter_homunculus_sql_init(); inter_mercenary_sql_init(); inter_elemental_sql_init(); inter_mail_sql_init(); inter_auction_sql_init(); inter_clan_init(); geoip_readdb(); return 0; }
// initialize int inter_init_sql(const char *file) { //int i; inter_config_read(file); //DB connection initialized sql_handle = SQL->Malloc(); ShowInfo("Conectando-se a base de dados do Servidor de Personagens...\n"); if( SQL_ERROR == SQL->Connect(sql_handle, char_server_id, char_server_pw, char_server_ip, (uint16)char_server_port, char_server_db) ) { Sql_ShowDebug(sql_handle); SQL->Free(sql_handle); exit(EXIT_FAILURE); } if( *default_codepage ) { if( SQL_ERROR == SQL->SetEncoding(sql_handle, default_codepage) ) Sql_ShowDebug(sql_handle); } wis_db = idb_alloc(DB_OPT_RELEASE_DATA); inter_guild_sql_init(); inter_storage_sql_init(); inter_party_sql_init(); inter_pet_sql_init(); inter_homunculus_sql_init(); inter_mercenary_sql_init(); inter_elemental_sql_init(); inter_mail_sql_init(); inter_auction_sql_init(); geoip_init(); msg_config_read("conf/messages.conf", false); return 0; }
/*========================================== * read config file *------------------------------------------ */ int inter_config_read(const char *cfgName) { int i; char line[1024], w1[1024], w2[1024]; FILE *fp; fp=fopen(cfgName,"r"); if(fp==NULL){ ShowError("file not found: %s\n", cfgName); return 1; } ShowInfo("reading file %s...\n",cfgName); while(fgets(line, 1020, fp)){ i=sscanf(line,"%[^:]: %[^\r\n]",w1,w2); if(i!=2) continue; if(strcmpi(w1,"char_server_ip")==0){ strcpy(char_server_ip, w2); ShowStatus ("set char_server_ip : %s\n",w2); } else if(strcmpi(w1,"char_server_port")==0){ char_server_port=atoi(w2); ShowStatus ("set char_server_port : %s\n",w2); } else if(strcmpi(w1,"char_server_id")==0){ strcpy(char_server_id, w2); ShowStatus ("set char_server_id : %s\n",w2); } else if(strcmpi(w1,"char_server_pw")==0){ strcpy(char_server_pw, w2); ShowStatus ("set char_server_pw : %s\n",w2); } else if(strcmpi(w1,"char_server_db")==0){ strcpy(char_server_db, w2); ShowStatus ("set char_server_db : %s\n",w2); } else if(strcmpi(w1,"default_codepage")==0){ strcpy(default_codepage, w2); ShowStatus ("set default_codepage : %s\n",w2); } //Logins information to be read from the inter_athena.conf //for character deletion (checks email in the loginDB) else if(strcmpi(w1,"login_server_ip")==0){ strcpy(login_server_ip, w2); ShowStatus ("set login_server_ip : %s\n",w2); } else if(strcmpi(w1,"login_server_port")==0){ login_server_port=atoi(w2); ShowStatus ("set login_server_port : %s\n",w2); } else if(strcmpi(w1,"login_server_id")==0){ strcpy(login_server_id, w2); ShowStatus ("set login_server_id : %s\n",w2); } else if(strcmpi(w1,"login_server_pw")==0){ strcpy(login_server_pw, w2); ShowStatus ("set login_server_pw : %s\n",w2); } else if(strcmpi(w1,"login_server_db")==0){ strcpy(login_server_db, w2); ShowStatus ("set login_server_db : %s\n",w2); } else if(strcmpi(w1,"kick_on_disconnect")==0){ kick_on_disconnect=atoi(w2); } else if(strcmpi(w1,"party_share_level")==0){ party_share_level=atoi(w2); if(party_share_level < 0) party_share_level = 0; } else if(strcmpi(w1,"log_inter")==0){ log_inter = atoi(w2); } else if(strcmpi(w1,"login_server_db")==0){ strcpy(login_server_db, w2); ShowStatus ("set login_server_db : %s\n",w2); } else if(strcmpi(w1,"import")==0){ inter_config_read(w2); } } fclose(fp); ShowInfo ("done reading %s.\n", cfgName); return 0; }