JO

Tutorial Otserv Sql Server 2.0 - Aprenda A Deixar Seu Ot Online! - 100% Completo

Por joaokk, 28 de mai. de 2007 em Tutoriais de Infraestrutura

tibia
otserv
4.0 (5)
293
149.8k
joaokkJ
28 de maio de 2007 às 14:27

Bem... eu vi 2 tópicos com o mesmo assunto, porém nenhum deles está 100% completo...

 

Eu vou botar um aqui totalmente completo com fotos e por etapas!

 

--------------------------------

 

Versão 1.0: Lançamento do Tutorial!

Versão 2.0: Foi modificada o 14º e 15º passos e foi botada "cores" para melhor entender.

 

--------------------------------

 

1º passo: Baixe o Xampp atravéz desse link: http://prdownloads.sourceforge.net/xampp/x...1-installer.exe

 

2º passo: Instale-o por completo (MySql, FileZilla FTP, etc.)

 

3º passo: Abra o Xampp Control Panel (que se você botou pra criar atalho, vai tar no Desktop, ou você lá pela pasta do xampp mesmo).

 

4º passo: Rode os servidores de Apache e MySql como a screen abaixo:

2.jpg

 

5º passo: Clique neste Link para abrir a página do Xampp (é necessário ter todos os arquivos que tem no htdocs logo ao instalar)

 

6º passo: Escolha o idioma "portuguese", e assim irá abrir uma página.

 

7º passo: Clique em "Segurança" que está na Screen abaixo:

3.jpg

 

8º passo: Um pouco abaixo na página aberta, clique em "http://localhost/security/xamppsecurity.php".

4.jpg

 

9º passo: Escolha uma senha que você NUNCA se esqueça (data de aniversário, nome da mãe, pai, etc.), e clique em Alterar senha. O USUÁRIO SEMPRE IRÁ SER "ROOT"!!!

5.jpg

 

10º passo: Entre em phpMyAdmin (no primeiro login você não precisa botar a usuário e nem a senha, no segundo pra frente irá ser necessário)

6.jpg

 

11º passo: Em cima da página irá ter escrito: "Criar novo Banco de Dados". Bote como a Screen abaixo e clique em "Criar" ao lado.

7.jpg

 

12º passo: Irá abrir algo parecido como a Screen abaixo, porém não iremos usá-lo agora. Volte para http://localhost/phpmyadmin/

8.jpg

 

13º passo: Na pasta do seu OT em Sql vai ter um arquivo como na Screen abaixo, copie e cole o arquivo e renomeie-o para "sample" (no caso do Zorzin vai estar escrito "zorzin") (pode pegar qualquer arquivo desde que seja Sql).

10.jpg

Vai ficar assim:

11.jpg

 

14º passo: Clique nesse link e clique em "view" da "revision" mais atualizada que tiver:

1000.jpg

 

15º passo: Delete tudo oque tiver escrito no arquivo SQL do 13º passo e cole oque está escrito na página aberta do 14º passo.

 

16º passo: Dele todas as coisas que tiver ecrito entre: /* e */ isso apenas irá te atrapalhar! Segue um exemplo:

 

--
-- Host: localhost	Database: otserv
-- ------------------------------------------------------
-- Server version	4.1.12a-nt

USE `otserv`;

--
-- Table structure for table `accounts`
--

DROP TABLE IF EXISTS `accounts`;
CREATE TABLE `accounts` (
 `id` int(11) NOT NULL auto_increment,
 `accno` int(11) unsigned NOT NULL default '0',
 `password` varchar(32) NOT NULL default '',
 `type` int(11) NOT NULL default '0',
 `premDays` int(11) NOT NULL default '0',
 `email` varchar(50) NOT NULL default '',
 `blocked` tinyint(4) NOT NULL default '0',
 UNIQUE KEY `id` (`id`),
 KEY `accno` (`accno`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Dumping data for table `accounts`
--


LOCK TABLES `accounts` WRITE;
INSERT INTO `accounts` VALUES (1,1,'test',0,0,'',0);
UNLOCK TABLES;

--
-- Table structure for table `items`
--

DROP TABLE IF EXISTS `items`;
CREATE TABLE `items` (
 `player` int(11) NOT NULL default '0',
 `slot` tinyint(4) NOT NULL default '0',
 `sid` int(11) NOT NULL default '0',
 `pid` int(11) NOT NULL default '0',
 `type` int(11) NOT NULL default '0',
 `number` tinyint(4) NOT NULL default '0',
 `actionid` int(5) NOT NULL default '0',
 `text` text NOT NULL default '',
 `specialdesc` text NOT NULL default '',
 KEY `player` (`player`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Dumping data for table `items`
--


LOCK TABLES `items` WRITE;
INSERT INTO `items` VALUES (1,0,15,14,1968,0,0,'MySQL test',''),(1,0,14,13,2594,0,0,'',''),(1,101,13,0,2590,0,0,'',''),(1,10,12,0,2544,100,0,'',''),(1,9,11,0,2169,0,0,'',''),(1,8,10,0,2195,0,0,'',''),(1,7,9,0,2477,0,0,'',''),(1,6,8,0,2542,0,0,'',''),(1,5,7,0,2419,0,0,'',''),(1,4,6,0,2653,0,0,'',''),(1,0,5,3,2456,0,0,'',''),(1,0,4,3,2544,100,0,'',''),(1,3,3,0,2002,0,0,'',''),(1,2,2,0,2199,0,0,'',''),(1,1,1,0,2496,0,0,'','');
UNLOCK TABLES;

--
-- Table structure for table `guilds`
--

DROP TABLE IF EXISTS `guilds`;
CREATE TABLE `guilds` (
 `guildid` int(11) NOT NULL auto_increment,
 `guildname` varchar(100) NOT NULL default '',
 `ownerid` int(11) NOT NULL default '0',
 PRIMARY KEY  (`guildid`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;


--
-- Table structure for table `players`
--

DROP TABLE IF EXISTS `players`;
CREATE TABLE `players` (
 `id` int(11) unsigned NOT NULL auto_increment,
 `name` varchar(32) NOT NULL default '',
 `access` int(11) NOT NULL default '0',
 `account` int(11) NOT NULL default '0',
 `level` int(11) NOT NULL default '0',
 `vocation` int(11) NOT NULL default '0',
 `cid` int(11) NOT NULL default '0',
 `health` int(11) NOT NULL default '0',
 `healthmax` int(11) NOT NULL default '0',
 `direction` int(11) NOT NULL default '0',
 `experience` int(11) NOT NULL default '0',
 `lookbody` int(11) NOT NULL default '0',
 `lookfeet` int(11) NOT NULL default '0',
 `lookhead` int(11) NOT NULL default '0',
 `looklegs` int(11) NOT NULL default '0',
 `looktype` int(11) NOT NULL default '0',
 `maglevel` int(11) NOT NULL default '0',
 `mana` int(11) NOT NULL default '0',
 `manamax` int(11) NOT NULL default '0',
 `manaspent` int(11) NOT NULL default '0',
 `masterpos` varchar(16) NOT NULL default '',
 `pos` varchar(16) NOT NULL default '',
 `speed` int(11) NOT NULL default '0',
 `cap` int(11) NOT NULL default '0',
 `maxdepotitems` int(11) NOT NULL default '1000',
 `food` int(11) NOT NULL default '0',
 `sex` int(11) NOT NULL default '0',
 `guildid` int(11) unsigned NOT NULL default '0',
 `guildrank` varchar(32) NOT NULL default '',
 `guildnick` varchar(32) NOT NULL default '',
 `lastlogin` int(11) unsigned NOT NULL default '0',
 `lastip` int(11) unsigned NOT NULL default '0',
 `save` int(11) unsigned NOT NULL default '1',
 `redskulltime` int(11) unsigned NOT NULL default '0',
 `redskull` tinyint(1) unsigned NOT NULL default '0',
 UNIQUE KEY `id` (`id`),
 KEY `name` (`name`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Dumping data for table `players`
--


LOCK TABLES `players` WRITE;
INSERT INTO `players` VALUES (1,'Hurz',1,1,18,1,675,840,840,2,76000,20,30,40,50,128,20,640,640,21700,'20;20;7','29;30;7',900,300,1000,129,1,0,'','',0,0,1,0,0);
INSERT INTO `players` VALUES (2,'Player',0,1,18,1,675,840,840,2,76000,20,30,40,50,128,20,640,640,21700,'27;23;7','27;23;7',900,300,1000,129,1,0,'','',0,0,1,0,0);
UNLOCK TABLES;

--
-- Table structure for table `playerstorage`
--

DROP TABLE IF EXISTS `playerstorage`;
CREATE TABLE `playerstorage` (
 `player` int(11) NOT NULL default '0',
 `key` int(11) unsigned NOT NULL default '0',
 `value` int(11) NOT NULL default '0',
 KEY `player` (`player`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Dumping data for table `playerstorage`
--


LOCK TABLES `playerstorage` WRITE;
INSERT INTO `playerstorage` VALUES (1,1000,4);
UNLOCK TABLES;

--
-- Table structure for table `skills`
--

DROP TABLE IF EXISTS `skills`;
CREATE TABLE `skills` (
 `player` int(11) NOT NULL default '0',
 `id` tinyint(4) NOT NULL default '0',
 `skill` int(11) unsigned NOT NULL default '0',
 `tries` int(11) unsigned NOT NULL default '0',
 KEY `player` (`player`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Dumping data for table `skills`
--


LOCK TABLES `skills` WRITE;
INSERT INTO `skills` VALUES (1,6,10,0),(1,5,10,0),(1,4,10,0),(1,3,10,0),(1,2,10,0),(1,1,10,0),(1,0,10,0);
UNLOCK TABLES;

--
-- Table structure for table `viplist`
--

DROP TABLE IF EXISTS `viplist`;
CREATE TABLE `viplist` (
  `player` int(10) unsigned NOT NULL default '0',
  `vip_id` int(10) unsigned NOT NULL default '0',
  KEY `player` TYPE BTREE (`player`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;


CREATE TABLE `tilelist` (
 `tileid` int(11) unsigned NOT NULL,
 `x` int(11) unsigned NOT NULL,
 `y` int(11) unsigned NOT NULL,
 `z` int(11) unsigned NOT NULL,
 PRIMARY KEY (tileid),
 UNIQUE (`x`,`y`,`z`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;


CREATE TABLE `tileitems` (
 `tileid` int(11) NOT NULL default '0',
 `sid` int(11) NOT NULL default '0',
 `pid` int(11) NOT NULL default '0',
 `type` int(11) NOT NULL default '0',
 `attributes` blob,
 KEY (tileid)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;


CREATE TABLE `houses` (
 `houseid` int(10) unsigned NOT NULL default '0',
 `owner` int(10) unsigned default '0',
 `paid` int(10) unsigned default '0',
 `warnings` int(10) unsigned default '0',
 PRIMARY KEY  (`houseid`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;


CREATE TABLE `houseaccess` (
 `houseid` int(10) unsigned NOT NULL default '0',
 `listid` int(10) unsigned default '0',
 `list` text,
 KEY `houseid` TYPE BTREE (`houseid`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;


CREATE TABLE `bans` (
 `type` int(10) unsigned NOT NULL default '0',
 `ip` int(10) unsigned NOT NULL default '0',
 `mask` int(10) unsigned NOT NULL default '0',
 `player` int(10) unsigned NOT NULL default '0',
 `account` int(10) unsigned NOT NULL default '0',
 `time` int(10) unsigned NOT NULL default '0'
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

 

17º passo: Salve e Feche o aruivo "sample.sql"

 

18º passo: Clique em "Import" que está na página http://localhost/phpmyadmin/

9.jpg

 

19º passo: Clique em "procurar" e escolha o arquivo "sample.sql"

 

20º passo: Clique em "Executar"

 

21º passo: No canto esquerdo da página, vai ter escrito banco de dados. Clique em otserv.

12.jpg

 

22º passo: Agora você tem controle sobre as pastas accounts, players, house, etc.

13.jpg

 

23º passo: Agora na pasta do seu server, abra o conf.lua, e procure por isto:

14.jpg

 

24º passo: Siga agora o exemplo da Screen abaixo:

15.jpg

 

-----------------------------------

 

Bem... é só pessoal!

 

Cya~

Editado Junho 11 por joaokk

Guiii~G
28 de maio de 2007 às 16:54

Ôó

 

Tuto perfeito ;D

Vou colocar no meu tópico com o download ;]

 

Cya

joaokkJ
29 de maio de 2007 às 14:07

Valeu pelo coment!

:lol:

 

Eu aconselho a vocês usarem o Evolutions 0.7.8 em SQL

;)

 

Cya~

upkingU
29 de maio de 2007 às 14:32

2 perguntas

 

1ª Funciona em linux?

2ª Quais sao as vantagens

favoreftyF
29 de maio de 2007 às 15:31

Muito bom seu tutorial, mas me tira uma dúvida...

 

eu abrindo um servidor em sql, suporta mais player que o xml?

 

Aguardo resposta.

 

 

Abraços,

Favorefty.

joaokkJ
29 de maio de 2007 às 18:56
upking

 

1ª Funciona em linux?

2ª Quais sao as vantagens

 

Olha... nunca testei em linux, pq eu uso Windows.

Menos lags, suporta mais players, mais fácil de se manjar.

 

favorefty

 

Muito bom seu tutorial, mas me tira uma dúvida...

 

eu abrindo um servidor em sql, suporta mais player que o xml?

 

Aguardo resposta.

 

 

Abraços,

Favorefty.

 

Antes, quando usava o XML, meu PC aguentava até 30 players sem lags e 50 players com um pouco. Agora em SQL, o lag diminuiu e assim aguenta 50 players sem lags e 80 player co um pokinho de lag...

 

 

Cya~

1 mês depois...
JvchequerJ
05 de junho de 2007 às 21:47

Olá Xtibiano,

 

Parabéns, seu tutorial foi aprovado.

 

Estarei movendo ele para a área de tutoriais.

 

Obrigado por trazer conteúdo para o Xtibia.com e espero que continue com o ótimo trabalho.

 

 

Atenciosamente,

JV Chequer *Diretor Xtibia.com*

lucasrdL
09 de junho de 2007 às 15:48

Funciona legal com zorzin otserver??

joaokkJ
10 de junho de 2007 às 16:15

@JV

 

Me sinto bem com essas suas palavras :lol:

Valeu pelo elogio cara!

 

@lucasrd

 

Olha... eu não testei com o zorzin OT... mas deve pegar sim...

 

 

Cya~

nakzimN
10 de junho de 2007 às 17:35

muito bom o tutorial, creio q vai ajudar mta gente,

 

 

aprovado.

VacalokaV
11 de junho de 2007 às 18:13

Me responde uma coisa demora demais pra importa o Arquivo porque aki em casa ta deagar demais pra abri ou axu que travou tb.

joaokkJ
11 de junho de 2007 às 19:20
Jandrey

 

Me responde uma coisa demora demais pra importa o Arquivo porque aki em casa ta deagar demais pra abri ou axu que travou tb.

 

Olha... aqui não demorou quase nada... nem um segundo... o seu pc deve ser um pouco lerdo, por isso deve demorar um pouco... explique melhor sua pergunta ok?

LordfireL
11 de junho de 2007 às 19:31

PERFECT CARA!

Muito bom esse tutorial

Vou migrar meu server pra SQL

Fiquei sabendo que é mais rápido...

Mas é verdade?

joaokkJ
11 de junho de 2007 às 19:48

O tutorial ficou melhor! V. 2.0! Editado lá em cima!

 

@Lord Fire

 

Olha meu amigo testou e de 50 players passou pra 70 players, eu acho que isso ajuda um pouco não é?

 

Cya~

LordfireL
12 de junho de 2007 às 16:28

Deu erro...

Quando vai carregar as bans aparece:

 

 Loading bans... MYSQL ERROR mysql_select_db


Error: unable to load bans!

 

Que erro é esse?

Eu fiz tudo certinho, lá no fim ficou:

 

--- MySQL part (ignore if you are using SQLite)
sql_host = "localhost"
sql_user = "root"
sql_pass = "minha senha aqui"
sql_db   = "database"

 

Outra coisa: recomendo usar o CODEBOX no passo 16.