Ir para conteúdo
Entre para seguir isso  
cakis

Criando um Servidor (Básico)

Recommended Posts

cakis    0
cakis

Olá a todos do OTServ Brasil e colaboradores, vim hoje trazer um tutorial de como criar o seu próprio servidor e coloca-lo Online para facilitar a ajuda de muitas pessoas.

 

Iniciando:

 

Então, para começar, precisaremos de um OTServ o mais óbvio, aqui no próprio site existem diversos OTServers disponíveis para Downloads de diversas versões basta clicar aqui e baixe um Servidor da sua versão desejada.

Criando um Servidor:

 

Agora que já temos um OTServ vamos começar a editá-lo começando pelo config.lua. Abaixo vou postar uma config traduzida para que vocês possam entender oque está escrito e editar da forma que vocês quiserem:

  • -- Account manager
    accountManager = "yes" -- Abilitar ou desabilitar o acc manager
    newPlayerChooseVoc = "yes" -- Coloque yes para o player escolher a vocação inicial
    newPlayerSpawnPosX = 100 -- Onde o novo player criado irá aparecer
    newPlayerSpawnPosY = 40 -- Onde o novo player criado irá aparecer
    newPlayerSpawnPosZ = 7 -- Onde o novo player criado irá aparecer
    newPlayerTownId = 1 -- Cidade em que o novo player irá morar
    newPlayerLevel = 10 -- Level inicial do novo player
    newPlayerMagicLevel = 2 -- Ml inicial do novo player
    generateAccountNumber = "no" -- Gerar accunt number automáticamente na hora de criar o char
     
    -- Banishments
    notationsToBan = 3 -- Notations para banir?
    warningsToFinalBan = 4 -- Alertas para banir?
    warningsToDeletion = 5 -- Alertas para deletar
    banLength = 7 * 24 * 60 * 60 -- Total de dias que o char fica banido
    finalBanLength = 30 * 24 * 60 * 60 -- Total de dias que o char fica banido em caso de Final Warning
    ipBanishmentLength = 1 * 24 * 60 * 60 -- Total de tempo que o player fica banido em caso de Ban IP
    broadcastBanishments = "yes" -- Mostrar para todos do server quando um player é banido
    killsToBan = 5 -- Quantos o player precisa matar para ser banido
    maxViolationCommentSize = 200 -- Numero de letras que o Rule Violation deve ter ( Ctrl + R)
     
    -- Battle
    -- NOTE: loginProtectionPeriod is the famous Tibia anti-magebomb system.
    -- deathLostPercent set to nil enables manual mode.
    -- showHealingDamageForMonsters inheritates from showHealingDamage.
    worldType = "pvp" -- Tipo de server. Varia de "pvp", "non-pvp", "pvp-enforced".
    protectionLevel = 75 -- A partir desse level o player poderá ser atacado por outro player
    killsToRedSkull = 3 -- Quantos players precisa matar para RedSkull
    pzLocked = 60 * 1000 -- Tempo de PK, sem matar nenhum player.
    criticalHitChance = 30 -- Chance em % de um player dar um hit mais alto do que o normal
    displayCriticalHitNotify = "yes" -- Mostrar a palavra "CRITICAL" quando um player da um critical hit
    removeWeaponAmmunition = "no" -- Remover bolts, arrows, etc.
    removeWeaponCharges = "no" -- Remover cargas de armas, Como armas encantadas ou Ice Rapiers
    removeRuneCharges = "yes" -- Remover cargas de runas
    timeToDecreaseFrags = 24 * 60 * 60 * 1000 -- Tempo que um frag demora pra desaparecer
    whiteSkullTime = 15 * 60 * 1000 -- Tempo de PK, se tiver matado um player
    experienceByKillingPlayers = "no" -- Player ganha experiencia ao matar outro player
    showHealingDamage = "yes" -- Mostrar quanto um player healou. Exemplo: player usa uma Health potion e sobe uma mensagem +135
    showHealingDamageForMonsters = "yes" -- Mesma coisa do exemplo de cima, só que com monstros
    stopAttackingAtExit = "no" -- Caso o player feche o Tibia ou caia a internet continuar atacando
    loginProtectionPeriod = 10 * 1000 -- Proteção de login. Exemplo: Player entra no char e não pode ser atacado por 10 segundos
    deathLostPercent = 7 -- Porcetagem de perda de level em caso de morte
    stairhopDelay = 2 * 1000 -- O próprio nome já diz. Exemplo: Player desce uma escada e não pode atacar durante 2 segundos
    gainExperienceColor = 215 -- Cor do numero da Exp. 215 = Branco
     
    -- Connection config
    worldId = 0
    ip = "127.0.0.1" -- Seu IP
    loginPort = 7171 -- Port que você quer que os players se conectem ao seu servidor
    gamePort = 7172 -- Não mude!!!
    adminPort = 7171 -- Ainda to pra descobrir
    statusPort = 7171 -- Ainda to pra descobrir
    loginTries = 10 -- Tentativas de login, se nessas 10 não conseguir a character list desaparece
    retryTimeout = 5 * 1000 -- Tempo para aparecer novamente a mensagem de server offline
    loginTimeout = 60 * 1000 -- Tempo para aparecer a mensagem de server offline
    maxPlayers = "1000" -- Maximo de players online no server
    motd = "Bem vindo!" -- Mensagem que aparece antes da Character List
    displayOnOrOffAtCharlist = "no" -- Mostrar se o player está online ou offline na character list
    onePlayerOnlinePerAccount = "yes" -- Apenas um player online por account
    allowClones = 0 -- Clonar char. 0 para não e 1 para sim
    serverName = "Alissow OTs" -- Nome do server
    loginMessage = "Bem vindo ao Alissow OTs! Para comprar premium fale !buypremium ." -- Primeira mensagem que aparece quando entra no server
    statusTimeout = 5 * 60 * 1000
    replaceKickOnLogin = "yes" -- Se tiver um online no char o outro que entrar irá kickar o que estava antes. Entendeu?
    forceSlowConnectionsToDisconnect = "no" -- Forçar conexões lentar a desconectar do server
    loginOnlyWithLoginServer = "no"
     
    -- Database
    -- NOTE: sqlFile is used only by sqlite database, and sqlKeepAlive by mysql database.
    -- To disable sqlKeepAlive such as mysqlReadTimeout use 0 value.
    sqlType = "sqlite" -- Varia de sqlite à Mysql
    sqlHost = "localhost"
    sqlPort = 3306
    sqlUser = "root"
    sqlPass = ""
    sqlDatabase = "theforgottenserver" -- Nome da database do server
    sqlFile = "forgottenserver.s3db" -- Mesmo do anterior
    sqlKeepAlive = 0
    mysqlReadTimeout = 10
    mysqlWriteTImeout = 10
    passwordType = "plain"
     
    -- Deathlist
    deathListEnabled = "yes" -- Abilitar o deathlist. Pode ser acessado pelo comando !deathlist "Player
    maxDeathRecords = 5 -- Mostrar mortes na deathlist
     
    -- Guilds
    ingameGuildManagement = "yes" -- Guild system pelo jogo
    levelToFormGuild = 75 -- Level para criar guild
    guildNameMinLength = 4 -- Minimo de tamanho do nome da guild
    guildNameMaxLength = 22 -- Máximo de tamanho do nome da guild
     
    -- Highscores
    highscoreDisplayPlayers = 15 -- Função highscores, funciona perfeitamente apenas em Mysql
    updateHighscoresAfterMinutes = 60
     
    -- Houses
    buyableAndSellableHouses = "yes" -- Abilitar compra e venda de casas
    houseNeedPremium = "yes" -- Premium para comprar casas
    bedsRequirePremium = "yes" -- Premium para usar camas
    levelToBuyHouse = 100 -- Level para comprar houses
    housesPerAccount = 0 -- Houses por account, 0 para infinito.
    houseRentAsPrice = "no" -- Hâ?
    housePriceAsRent = "no" -- Hâ?
    housePriceEachSquare = 1000 -- Preço de cada SQM (quadrado) da casa
    houseRentPeriod = "never" -- Periodo de aluguel da casa, Varia de "never", "weekly", "montly" e "daily". (Se não me engano)
     
    -- Item usage
    timeBetweenActions = 200 -- Tempo para executar actions
    timeBetweenExActions = 1000 -- Tempo para executar actions da pasta Actions
    checkCorpseOwner = "yes" -- Impedir roubo de loots
    hotkeyAimbotEnabled = "yes" -- Abilitar hotkeys
     
    -- Map
    -- NOTE: storeTrash costs more memory, but will perform alot faster cleaning.
    -- useHouseDataStorage usage may be found at README.
    mapName = "xedegux" -- Nome do map, Aquele da pasta world
    mapAuthor = "Alissow" -- Autor do map
    randomizeTiles = "yes"
    useHouseDataStorage = "no"
    storeTrash = "yes"
    cleanProtectedZones = "yes" -- Limpar zonas em PZ
     
    -- Startup
    -- NOTE: defaultPriority works only on Windows and niceLevel on *nix
    -- coresUsed are seperated by comma cores ids used by server process,
    -- default is -1, so it stays untouched (automaticaly assigned by OS).
    defaultPriority = "high"
    niceLevel = 5
    coresUsed = "-1"
    optimizeDatabaseAtStartup = "yes"
    removePremiumOnInit = "yes"
     
    -- Muted buffer
    maxMessageBuffer = 4 -- Maximo de mensagens seguidas para dar "mutted"
    bufferMutedOnSpellFailure = "no"
     
    -- Miscellaneous
    -- NOTE: promptExceptionTracerErrorBox works only with precompiled support feature,
    -- called "exception tracer" (__EXCEPTION_TRACER__ flag).
    dataDirectory = "data/" -- Pasta onde está o resto do ot. Padrão Data.
    kickIdlePlayerAfterMinutes = 15 -- Kickar o player AFK em xx minutos
    allowChangeOutfit = "yes" -- Players podem mudar outfits
    allowChangeColors = "yes" -- Players mudam cores do outfit
    allowChangeAddons = "yes" -- Players mudam addons
    disableOutfitsForPrivilegedPlayers = "no" -- Significa desabilitar outfits para players privilegiados, não sei como funciona
    bankSystem = "yes" -- Bank system, Funciona com NPC ou Talkaction
    saveGlobalStorage = "yes"
    ghostModeInvisibleEffect = "yes"
    displaySkillLevelOnAdvance = "yes" -- Mostrar o skill na mensagem quando avança. Exemplo "You advanced in axe fighting. [77]
    spellNameInsteadOfWords = "no" -- Mostrar nome da Magia ao invés da pronuncia.
    emoteSpells = "yes" -- Magias em animação. Em laranja
    expireReportsAfterReads = 1 -- Apagar reports (ctrl + R) se o player fechar ou sair do tibia
    promptExceptionTracerErrorBox = "yes"
    storePlayerDirection = "no"
    playerQueryDeepness = 2
     
    -- Premium-related
    freePremium = "no" -- Premium gratuita quando cria o char
    premiumForPromotion = "yes" -- Premium para comprar promotion
     
    -- Blessings
    -- NOTE: blessingReduction* regards items/containers loss.
    -- eachBlessReduction is how much each bless reduces the experience/magic/skills loss.
    blessingsOnlyPremium = "yes" -- Blessings apenas para premiums
    blessingReductionBase = 30
    blessingReductionDecreament = 5
    eachBlessReduction = 8
     
    -- Rates
    -- NOTE: experienceStages configuration is located in data/XML/stages.xml.
    experienceStages = "no" -- Exp stages, configurado em data/XML stages.xml
    rateExperience = 75 -- Exp Rate
    rateSkill = 130 -- Skill Rate
    rateMagic = 95 -- Ml Rate
    rateLoot = 3 -- Loot rate
    rateSpawn = 1 -- Spawn rate
     
    -- Global save
    -- NOTE: globalSaveHour means like 03:00, not that it will save every 3 hours,
    -- if you want such a system please check out data/globalevents/globalevents.xml.
    globalSaveEnabled = "no" -- Abilitar Global salve, nunca usei mas acho que é algo parecido como o server save do global
    globalSaveHour = 8
    shutdownAtGlobalSave = "yes"
    cleanMapAtGlobalSave = "no"
     
    -- Spawns
    deSpawnRange = 2
    deSpawnRadius = 50
     
    -- Summons
    maxPlayerSummons = 2 -- Max de monstros que o player pode sumonar
    teleportAllSummons = "no" -- Teleportar os summons caso o player corra para longe
    teleportPlayerSummons = "no" -- Mesmo do de cima
     
    -- ABAIXO coloque como quiser
    ownerName = "Alissow"
    ownerEmail = "[email protected]"
    url = "http://sotserv.blogspot.com"
    location = "Brasil"
    displayGamemastersWithOnlineCommand = "no" -- Mostrar GMs online no comando !online
     
    -- Logs
    -- NOTE: This kind of logging does not work in GUI version.
    -- For such, please compile the software with __GUI_LOGS__ flag.
    adminLogsEnabled = "no"
    displayPlayersLogging = "yes"
    prefixChannelLogs = ""
    runeFile = ""
    outLogName = ""
    errorLogName = ""
    truncateLogsOnStartup = "no"

 

Bom, agora que já editaram seu config.lua vamos fazer o mais importante, desbloquear as portas 7171 e 7172 mãos a obra!.

 

  • Desbloqueando portas do firewall:

 

1° --> abra seu menu Iniciar/Painel de Controle/Central de Segurança/Firewall do Windowns.

 

vai abrir uma janela, e nessa janela você clica em Exceções/Adicionar Porta agora coloque isso:

 

Nome: Open Tibia Server

Número da porta: 7171

  • TCP

Faça o mesmo procedimento, novamente só que agora troque a porta para 7172!.

 

Pronto! portas 7171 e 7172 do firewall desbloquedas.

 

Desbloqueando portas do Modem:

 

Agora que já desbloqueamos as portas do firewall vamos desbloquear as do modem que permite o servidor ficar online e a entrada de players no seu Servidor. OBS: com internet compartilhada não funciona, para fazer Servidor com internet compartilhada é só clicar aqui e veja diversos tutoriais que seja melhor pra você.

 

Vamos continuar onde paramos... primeiramente você tem que saber o modelo de seu modem e entrar nas configurações dele para desbloquear as portas 7171 e 7172, vou postar um site que tem todos os modems que existe e neles, cada tutorial explicando como desbloquear cada porta, basta clicar aqui e procure seu modem desejado e o jogo desejado que queira desbloquear tal porta.

  • Criando IP Fixo:

Já desbloqueamos portas do firewall e do modem, agora falta criar um IP Fixo!. Basta entrar nesse site clicando aqui, se cadastre-se e entre na sua conta. Após entrar na sua conta faça esse procedimento:

Clique em Add a Host e vai aparecer uma janela, e abaixo, explicando oque cada um se significa:

 

 

Hostname: Nome do seu servidor EX: exemplo.servegame.com. Na barra do lado, escolha um exemplo atrás do jeito que você gostar.

HostType: Deixe como está.

IP Address: É o IP do seu modem que você irá usar para deixar seu server Online!.

Assign to Group: Deixe como está.

 

 

Após isso é só clicar em Create Host e Pronto! IP do seu servidor criado.

 

  • Descobrindo o seu IP:

Já criamos um IP! agora falta descobrir o IP do seu modem para rodar o seu servidor. Basta entrar nesse site clicando aqui e o IP que aparecer lá é o ip do seu modem e coloque-o na sua Config.lua na parte Connection Config.

 

 

  • Download do No-Ip:

Pronto já temos tudo feito agora só falta o nosso programa para ativar o seu IP do seu modem para deixar o seu Servidor Online! basta clicar aqui e fazer o Download do programa. Após fazer o download abra o No-Ip e segue esse procedimento:

E-Mail Address: coloque o email que vc criou a sua conta no site do No-Ip!.

Password: O mais óbvio que é a senha.

Pronto! depois irá aparecer uma outra janela e clique em Select Hosts. Após clicar ative o seu IP que você criou e pronto! IP ativado com sucesso. OBS: sempre que você reiniciar o modem sempre terá que ativar o IP novo ou sinão o Servidor não ficará Online!.

 

Caso Dúvidas, perguntas e respostas falem! responderei a todos e ajudar a todos que necessitarem.

 

Créditos:

Somente eu :P.

 

 

 

 

 

 

 

 

 

 

 

Comentem. :bye:

Compartilhar este post


Link para o post
vHp    6
vHp

Obrigado pela contribuição!

 

Tópico recomendado: foi para o portal! :D

Compartilhar este post


Link para o post
DeadP    0
DeadP

@Topic:

muito bom tutor, me ajudou bastante mesmo !

 

@Off:

maaas..

Cara, eu baixei um TheForgotten 9.60 só pra eu deixar online pra mim(localHost) , pra testar meu mapa e tal .. mas quando eu vo fzr login sempre da acc e pass errado(Invalid account name our password ) e aparece bem rápido a msg, sinal de que realmente é do meu server ( entendeu? haha ).. já liberei port do firewall, o log do server inicia sem nenhum erro, coloco meu ip no Config.lua, e no mysql eu vejo a conta e eu tenho certeza que a acc name e pass que eu to colocando nao tá errada. tem alguma idéia do que seja ? sou 101% leigo em host haha mas eu precisso testar meu mapa né ;~

Compartilhar este post


Link para o post
lukioloko    0
lukioloko

@DeadP:

é provável que você tenha que liberar as portas no seu roteador, de uma olhada no modelo dele, depois, olhe na seção de tutoriais do fórum, pois la ha vários tutoriais ensinando a desbloquear portas em vários modens e roteadores.

 

@Topic:

 

Belo tópico bem formatado e com bastante conteúdo, sei que muitas pessoas tem dificuldades para colocar seu otservs online, sei que esse é um tutorial básico porém poderia colocar uma parte dele para avisar que as vezes é preciso liberar portas no modem ou roteador para o servidor poder ficar online para todas as pessoas.

 

Att, Lukio.

Editado por lukioloko

Compartilhar este post


Link para o post
dantasdm    0
dantasdm

@Topic

Realmente, acho que deveria implementar como liberar as portas do roteador, assim ajudaria muitas outras pessoas, além de adicionar links sobre script básicos.

No mais, ótimo tópico.

 

Parabéns !

Compartilhar este post


Link para o post
Maary13    0
Maary13

Muito bom, mas eu queria um tópico tipo assim: como sustentar um ot por meses, ou por anos...

Compartilhar este post


Link para o post
Horus19    0
Horus19

Olá...

O que eu coloco nessa parte?

sqlType = "mysql"

sqlHost = "localhost"

sqlPort = 3306

sqlUser = "root"

sqlPass = "Sua Senha aqui" (Que senha a do no-ip?)

sqlDatabase = "Hollister" (?? o que que eu ponho)

sqlFile = "Hollister.s3db" (o que ponho)

sqlKeepAlive = 0

mysqlReadTimeout = 5000

mysqlWriteTimeout = 5000

encryptionType = "sha1"

Editado por Horus19

Compartilhar este post


Link para o post
Visitante
Este tópico está impedido de receber novos posts.
Entre para seguir isso  
  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×