예제 #1
0
void game_init(void)
{
    kernel_init();
    register_triggers();
    register_xmas();

    register_nr();
    register_cr();
    register_jsreport();

    register_races();
    register_spells();
    register_names();
    register_resources();
    register_buildings();
    register_itemfunctions();
#if MUSEUM_MODULE
    register_museum();
#endif
#if ARENA_MODULE
    register_arena();
#endif
    wormholes_register();

    register_itemtypes();
#ifdef USE_LIBXML2
    register_xmlreader();
#endif
    register_attributes();
    register_gmcmd();

    chaos_register();
}
예제 #2
0
파일: main.c 프로젝트: TomBraun/server
int main(int argc, char **argv)
{
  int err, result = 0;
  lua_State *L;
  setup_signal_handler();
  parse_config(inifile);
  log_open(logfile);

  err = parse_args(argc, argv, &result);
  if (err) {
    return result;
  }

  locale_init();

#ifdef CRTDBG
  init_crtdbg();
#endif

    L = lua_init();
  game_init();
  register_races();
  register_borders();
  register_spells();
  bind_monsters(L);
  err = eressea_run(L, luafile);
  if (err) {
    log_error("server execution failed with code %d\n", err);
    return err;
  }
#ifdef MSPACES
  malloc_stats();
#endif

  game_done();
  lua_done(L);
  log_close();
  if (global.inifile) {
    iniparser_free(global.inifile);
  }
  return 0;
}