antiblock
diamwall

เ√ลη کคи†σร .

Membro
  • Content Count

    61
  • Joined

  • Last visited

  • Days Won

    4

Everything posted by เ√ลη کคи†σร .

  1. Bem, como diz um velho amigo: _________________________________________________________________________________________________________________________________________________________________ "Um mentiroso pode contar mil e uma mentiras, mas não diga que o nível 255 buga o jogo, ao ponto de faze-lo cair... ". _________________________________________________________________________________________________________________________________________________________________ Para espertinhos que tem a mania que percebem alguma coisinha mínima de programação (que basicamente o que fazem é copiarem tópicos da EPVP e colar noutros fóruns), aqui fica explicado mais detalhadamente. Também serve para quem não percebeu muito bem o motivo, mas esses não têm a mínima culpa. Começando com uma lição de literatura inglesa: GetPoint: Point type overflow (type 255) Programação para idiotas (e tambem para quem gosta mesmo disto e tem capacidades) em inicialização com tradução para português: [*]Get - Obter [*]Point - Ponteiro [*]GetPoint - Obter um ponteiro - Em programação são ligações entre os comandos [*]Point type overflow - Sobrecarga do tipo do ponteiro - Em programação significa que há um excesso no int do ponteiro dos níveis, visto ser o último valor (talvez um erro de programação, onde eu não posso mexer devido a não ser um programa meu) [*]type 255 - Tipo 255 - Em programação é um int de 8 bits Ou seja, juntando tudo, existia uma sobrecarga no ponteiro 255 com 8 bits de tamanho. Ou seja, talvez devido a um erro de programação no núcleo do servidor (que pertence à YMIR e é de código fechado), o último ponteiro (255) tem uma falha que nem sempre chega a esse valor. Quando o jogo reconhecia esse valor, dava erro, e quando era em excesso os 10 mapas junto com um dos que deu erro (bastava UM), caiam todos e voltavam a ligar. Davam cerca de 15-20 erros por segundo! Não precisam de ser muito inteligentes nem de perceber de programação que tanto erro que dava, chegava a um ponto que ia abaixo. Espero que tenha ajudado alguem. Cumprimentos ;)
  2. Boa noite comunidade. Quem estiver interessado em converter as serverfiles de 2006 para 2010, façam desta maneira. Foi testado em FreeBSD 8.2 64-bit, mas certamente que funcionará nas outras também. Vamos começar pelo MySQL Façam esta query: ALTER TABLE account.account ADD `last_play` datetime default NULL;UPDATE common.locale SET `mValue`='locale_name' WHERE (`mKey`='DB_NAME_COLUMN');UPDATE common.locale SET `mValue`='portugal' WHERE (`mKey`='LOCALE');DROP TABLE IF EXISTS log.loginlog2;CREATE TABLE log.loginlog2 ( `id` int(11) NOT NULL AUTO_INCREMENT, `type` text, `is_gm` int(11) DEFAULT NULL, `login_time` datetime DEFAULT NULL, `channel` int(11) DEFAULT NULL, `account_id` int(11) DEFAULT NULL, `pid` int(11) DEFAULT NULL, `client_version` text, `ip` text, PRIMARY KEY (`id`)) ENGINE=MyISAM DEFAULT CHARSET=latin1;DROP TABLE IF EXISTS player.lotto_list;CREATE TABLE player.lotto_list ( `id` int(10) unsigned NOT NULL auto_increment, `server` varchar(20) default NULL, `pid` int(10) unsigned default NULL, `time` datetime default NULL, PRIMARY KEY (`id`)) ENGINE=MyISAM DEFAULT CHARSET=latin1;DROP TABLE IF EXISTS player.highscore;CREATE TABLE player.highscore ( `pid` int(11) default NULL, `board` varchar(0) default NULL, `value` varchar(0) default NULL) ENGINE=MyISAM DEFAULT CHARSET=latin1;DROP TABLE IF EXISTS player.change_empire;CREATE TABLE player.change_empire ( `account_id` int(11) DEFAULT NULL, `change_count` int(11) DEFAULT NULL, `time` datetime DEFAULT NULL) ENGINE=MyISAM DEFAULT CHARSET=latin1;DROP TABLE IF EXISTS player.horse_name;CREATE TABLE player.horse_name ( `id` int(11) NOT NULL default '0', `name` varchar(24) NOT NULL default 'NONAME', PRIMARY KEY (`id`)) ENGINE=MyISAM DEFAULT CHARSET=latin1;ALTER TABLE player.item_proto CHANGE COLUMN `gb2312name` `locale_name` varbinary(24) NOT NULL DEFAULT 'Noname' AFTER `name`;ALTER TABLE player.mob_proto CHANGE COLUMN `gb2312name` `locale_name` varbinary(24) NOT NULL DEFAULT 'Noname' AFTER `name`;ALTER TABLE player.mob_proto ADD `skill_level2` tinyint(3) unsigned default NULL;ALTER TABLE player.mob_proto ADD `skill_vnum2` int(10) unsigned default NULL;ALTER TABLE player.mob_proto ADD `skill_level3` tinyint(3) unsigned default NULL;ALTER TABLE player.mob_proto ADD `skill_vnum3` int(10) unsigned default NULL;ALTER TABLE player.mob_proto ADD `skill_level4` tinyint(3) unsigned default NULL;ALTER TABLE player.mob_proto ADD `skill_vnum4` int(10) unsigned default NULL;ALTER TABLE player.monarch_candidacy ADD `name` varchar(16) default NULL;E ficam com a base de dados atualizada. Agora no FreeBSD Façam download de: [*]http://download.ivan...in2/2010/bin/db [*]http://download.ivan...2/2010/bin/game Vão ao diretório das vossas serverfiles, exemplo /usr/rain, e coloquem o ficheiro db (dbcore 1866) em /usr/rain/db, e o ficheiro game (gamecore 2089M com a exp no nível 128 desbugada por mim) em /usr/rain/channel/share_data. Depois fazes o seguinte: [*]cd /usr/rain/auth [*]rm auth [*]ln -s ../channel/share_data/game auth Ficheiro conf.txt Em /usr/rain/db, abre o ficheiro conf.txt com o Notepad++ e irás obter este resultado: WELCOME_MSG = "DB Server has been started"SQL_ACCOUNT = "localhost account mt2 mt2!@# 0"SQL_PLAYER = "localhost player mt2 mt2!@# 0"SQL_COMMON = "localhost common mt2 mt2!@# 0"SQL_HOTBACKUP = "localhost hotbackup mt2 mt2!@# 0"TABLE_POSTFIX = ""BIND_PORT = 15001DB_SLEEP_MSEC = 10CLIENT_HEART_FPS = 25HASH_PLAYER_LIFE_SEC = 600BACKUP_LIMIT_SEC = 3600PLAYER_ID_START = 100PLAYER_DELETE_LEVEL_LIMIT = 70ITEM_ID_RANGE = 70000001 100000000LOCALE = big5Debaixo de [*]PLAYER_DELETE_LEVEL_LIMIT = 70 Apaga tudo e adiciona [*]PLAYER_DELETE_CHECK_SIMPLE = 2 ITEM_ID_RANGE = 2000000000 2100000000 MIN_LENGTH_OF_SOCIAL_ID = 6 SIMPLE_SOCIALID = 1 Block "Y/QSB7omi36awq4ctpUxuiwRARM=" Ficando no fim um resultado semelhante a este: WELCOME_MSG = "DB Server has been started"SQL_ACCOUNT = "localhost account mt2 mt2!@# 0"SQL_PLAYER = "localhost player mt2 mt2!@# 0"SQL_COMMON = "localhost common mt2 mt2!@# 0"SQL_HOTBACKUP = "localhost hotbackup mt2 mt2!@# 0"TABLE_POSTFIX = ""BIND_PORT = 15001DB_SLEEP_MSEC = 10CLIENT_HEART_FPS = 25HASH_PLAYER_LIFE_SEC = 600BACKUP_LIMIT_SEC = 3600PLAYER_ID_START = 100PLAYER_DELETE_LEVEL_LIMIT = 70PLAYER_DELETE_CHECK_SIMPLE = 2ITEM_ID_RANGE = 2000000000 2100000000MIN_LENGTH_OF_SOCIAL_ID = 6SIMPLE_SOCIALID = 1Block "Y/QSB7omi36awq4ctpUxuiwRARM="E guarda o conf.txt FIcheiros CONFIG Em /usr/rain/auth, terás de editar o ficheiros CONFIG. Deverá aparecer assim: HOSTNAME: metin2_authCHANNEL: 1PORT: 11002P2P_PORT: 12001DB_PORT: 15001DB_ADDR: localhostTABLE_POSTFIX: ITEM_ID_RANGE: 000000001 000000002PASSES_PER_SEC: 25SAVE_EVENT_SECOND_CYCLE: 180PING_EVENT_SECOND_CYCLE: 180AUTH_SERVER: masterPLAYER_SQL: localhost mt2 mt2!@# accountLOG_SQL: localhost mt2 mt2!@# logCOMMON_SQL: localhost mt2 mt2!@# commonRemove: [*]ITEM_ID_RANGE: 000000001 000000002 Adiciona: [*]LOCALE_SERVICE: PORTUGAL adminpage_ip: 127.0.0.1 adminpage_ip1: 127.0.0.1 adminpage_ip2: 127.0.0.1 adminpage_ip3: 127.0.0.1 adminpage_password: cexubrecegutru7u6atrEqurUyudeSutafruwuz55#etrehAdajezeje+uthustU Ficando no fim assim: HOSTNAME: metin2_authCHANNEL: 1PORT: 11002P2P_PORT: 12001DB_PORT: 15001DB_ADDR: localhostTABLE_POSTFIX:PASSES_PER_SEC: 25SAVE_EVENT_SECOND_CYCLE: 180PING_EVENT_SECOND_CYCLE: 180AUTH_SERVER: masterPLAYER_SQL: localhost mt2 mt2!@# accountLOG_SQL: localhost mt2 mt2!@# logCOMMON_SQL: localhost mt2 mt2!@# commonLOCALE_SERVICE: PORTUGALadminpage_ip: 127.0.0.1adminpage_ip1: 127.0.0.1adminpage_ip2: 127.0.0.1adminpage_ip3: 127.0.0.1adminpage_password: cexubrecegutru7u6atrEqurUyudeSutafruwuz55#etrehAdajezeje+uthustUEm /usr/rain/channel, terás de editar os ficheiros CONFIG que estão em: [*]first [*]game1_1 [*]game1_2 [*]game1_3 [*]game2 [*]game61 [*]game99 O first deverá aparecer assim: HOSTNAME: firstCHANNEL: 1PORT: 13000P2P_PORT: 14000DB_PORT: 15001DB_ADDR: localhostMAP_ALLOW: TABLE_POSTFIX: ITEM_ID_RANGE: 5000001 10000000PASSES_PER_SEC: 25SAVE_EVENT_SECOND_CYCLE: 180PING_EVENT_SECOND_CYCLE: 180PLAYER_SQL: localhost mt2 mt2!@# playerCOMMON_SQL: localhost mt2 mt2!@# commonLOG_SQL: localhost mt2 mt2!@# log#TEST_SERVER: 1pk_server: 1Remove: [*]ITEM_ID_RANGE: VALOR1 VALOR2 Apaga tudo o que se encontra debaixo de LOG_SQL: localhost mt2 mt2!@# log e adiciona isto: [*]NO_PK: 1 CHECK_MULTIHACK: 1 adminpage_ip: 127.0.0.1 adminpage_ip1: 127.0.0.1 adminpage_ip2: 127.0.0.1 adminpage_ip3: 127.0.0.1 adminpage_password: cexubrecegutru7u6atrEqurUyudeSutafruwuz55#etrehAdajezeje+uthustU LOCALE_SERVICE: PORTUGAL VIEW_RANGE: 20000 MAX_LEVEL: 99 Ficando assim no final: HOSTNAME: firstCHANNEL: 1PORT: 13000P2P_PORT: 14000DB_PORT: 15001DB_ADDR: localhostMAP_ALLOW: TABLE_POSTFIX:PASSES_PER_SEC: 25SAVE_EVENT_SECOND_CYCLE: 180PING_EVENT_SECOND_CYCLE: 180PLAYER_SQL: localhost mt2 mt2!@# playerCOMMON_SQL: localhost mt2 mt2!@# commonLOG_SQL: localhost mt2 mt2!@# logNO_PK: 1CHECK_MULTIHACK: 1adminpage_ip: 127.0.0.1adminpage_ip1: 127.0.0.1adminpage_ip2: 127.0.0.1adminpage_ip3: 127.0.0.1adminpage_password: cexubrecegutru7u6atrEqurUyudeSutafruwuz55#etrehAdajezeje+uthustULOCALE_SERVICE: PORTUGALVIEW_RANGE: 20000MAX_LEVEL: 99 Fazes o mesmo para todos os CONFIG dentro do channel. Alteração do locale Vai a /usr/rain/channel/share_data/locale e muda o nome da pasta hongkong para portugal. Depois dentro da portugal e muda o nome do big5_string.txt para locale_string.txt e adiciona este ficheiro em /usr/rain/channel/share_data/locale/portugal: [*]http://download.ivan...y/translate.lua Depois vais a /usr/rain/channel/share_data/locale/portugal/quest e: [*]Muda o nome do locale_big5.lua para locale.lua; [*]Muda o nome do hongkong_list para locale_list. Alteração do data Fazer o download de: [*]http://download.ivan...010/data.tar.gz E fazer upload para a máquina em /root Depois no FreeBSD fazes: [*]cd /usr/rain/channel/share_data [*]rm -fR data [*]tar -xzvf /root/data.tar.gz Em princípio deve funcionar. Se aparecer algum erro postem como resposta, é que fiz o tutorial de cabeça. Cumprimentos, Ivan Santos. Edit By Valenza: Quem ainda não entendeu, fiz um vídeo explicando, alem dos arquivos estarem novamente ativa para download. abaixo o link http://cyber-gamers.org/index.php?/topic/2911-video-converter-server-files-2006-para-2010/page__p__15147#entry15147
  3. Bom dia comunidade. Para quem não sabe, a licensa do gamecore 2089 e 2089M expirou no dia 1 de Abril de 2012. O problema causado é a instabilidade total do núcleo. Tanto não liga, como fica meio ligado passado X tempo (não permitindo o script re-iniciar o núcleo). Para isso precisam do Dif Patcher. Download: http://download.ivan...Dif_patcher.exe Depois precisam da difference file até 1 de Abril de 2020. Download: http://download.ivan...rarData2089.dif Depois é só colocá-la como está aqui no print: Fontes: [*]Kanetas, membro da HG; [*]Desconheço a fonte original, pois era algo que tinha para aqui perdido no disco. Cumprimentos, Ivan Santos.
  4. Tinha isto aqui perdido também no disco. Os programas não são meus, e desconheço as fontes. Isto converte o item_proto e mob_proto do cliente para o servidor. Download: [*]http://download.ivan...s/mob_proto.exe [*]http://download.ivan.../item_proto.exe Créditos desconhecidos. Cumprimentos, Ivan Santos.
  5. Bom dia. Aqui fica uma lista de gamecores 404 para serverfiles 2006. Correções: [*]Experiência desbugada; [*]Correção do "connect: operation timed out". Este erro deixa de existir e passa a dar um "connection refused". Poupam 75 segundos. Ficheiros: [*]authcore_irgs.hex [*]gamecore_r404_irgs_lvl30.hex [*]gamecore_r404_irgs_lvl80.hex [*]gamecore_r404_irgs_lvl99.hex [*]gamecore_r404_irgs_lvl100.hex [*]gamecore_r404_irgs_lvl105.hex [*]gamecore_r404_irgs_lvl110.hex [*]gamecore_r404_irgs_lvl115.hex [*]gamecore_r404_irgs_lvl120.hex [*]gamecore_r404_irgs_lvl125.hex [*]gamecore_r404_irgs_lvl127.hex [*]gamecore_r404_irgs_lvl255.hex Instalação: Mover o authcore_irgs.hex para auth e o gamecore_r404_irgs_lvlX.hex para game, e colocar o auth em /usr/rain/auth e o game em /usr/rain/channel/share_data. Cumprimentos, Ivan Santos.
  6. Isso 99% dos servidores é assim.Mas eu para colocar tudo certo, e também para poupar trabalho :D, converto logo o item_proto do servidor para o cliente.Ou seja, está 100% a coinicidir com o cliente, não enganando ninguém.Mas desses 99%, 70% não sabem fazer, 10% gostam do proveito, e o resto não apetece ter trabalho.Não falha.
  7. Se me enviares, eu faço. Faz o comando: tar -czvf /usr/rain.tar.gz /usr/rain /var/db/mysqlConvinha era ser numas files limpas.
  8. Read please, okay? http://cyber-gamers.org/public/style_emoticons/default/laugh.png Cumprimentos, Ivan Santos.
  9. Já corrigi, foi erro no tópico.Não é In mas sim ln, é um L minúsculo, isso viste mal.ln -s ../channel/share_data/game auth
  10. Aqui está:http://cyber-gamers.org/index.php?/topic/1082-gamecore-2089m-corrigido/