poseidon.pl
上传用户:market2
上传日期:2018-11-18
资源大小:18786k
文件大小:2k
源码类别:

外挂编程

开发平台:

Windows_Unix

  1. #!/usr/bin/env perl
  2. ###########################################################
  3. # Poseidon server
  4. #
  5. # This program is free software; you can redistribute it and/or 
  6. # modify it under the terms of the GNU General Public License 
  7. # as published by the Free Software Foundation; either version 2 
  8. # of the License, or (at your option) any later version.
  9. #
  10. # Copyright (c) 2005-2006 OpenKore Development Team
  11. #
  12. # Credits:
  13. # isieo - schematic of XKore 2 and other interesting ideas
  14. # anonymous person - beta-testing
  15. # kaliwanagan - original author
  16. # illusionist - bRO support
  17. ###########################################################
  18. use strict;
  19. use FindBin qw($RealBin);
  20. use lib "$RealBin/..";
  21. use lib "$RealBin/../deps";
  22. use Time::HiRes qw(time sleep);
  23. use Poseidon::RagnarokServer;
  24. use Poseidon::QueryServer;
  25. use constant POSEIDON_SUPPORT_URL => 'http://www.openkore.com/aliases/poseidon.php';
  26. use constant RAGNAROK_SERVER_HOST => '127.0.0.1';
  27. use constant RAGNAROK_SERVER_PORT => 6900;
  28. use constant QUERY_SERVER_HOST => '127.0.0.1';
  29. use constant QUERY_SERVER_PORT => 24390;
  30. use constant SLEEP_TIME => 0.01;
  31. our ($roServer, $queryServer);
  32. sub initialize {
  33. print "Starting Poseidon...n";
  34. $roServer = new Poseidon::RagnarokServer(RAGNAROK_SERVER_PORT,
  35. RAGNAROK_SERVER_HOST);
  36. $queryServer = new Poseidon::QueryServer(QUERY_SERVER_PORT,
  37. QUERY_SERVER_HOST, $roServer);
  38. print ">>> Poseidon initialized <<<nn";
  39. print "Please read " . POSEIDON_SUPPORT_URL . "n";
  40. print "for further instructions.n";
  41. }
  42. sub __start {
  43. initialize();
  44. while (1) {
  45. $roServer->iterate();
  46. $queryServer->iterate();
  47. sleep SLEEP_TIME;
  48. }
  49. }
  50. __start() unless defined $ENV{INTERPRETER};