Tudo que Farathor postou
-
Problema com Sharp Map Tracker
Bom dia, pessoal. Estou com um problema com o sharp map tracker da versão 10.0x Ele simplesmente abre o cliente, mas não consigo logar no servidor... Podem me ajudar? DA erro 10053
- Instalando Site e Compilando Source (Ubuntu 20.04)
-
[Pedido] Todos Atacam Igual
Galera, to tentando criar um evento no meu servidor onde eu queria fazer com que eles quando atacassem o objetivo do evento, o shooteffect e o HIT fossem pré definidos. Mesmo sendo KNIGHT, poderia atacar de longe na distancia de 5sqm. Alguém poderia me ajudar? Tentei fazer com onstatschange, com oncombat mas nada certo...
-
[Pedido] Transformar Script para 0.4
Queria ajudar para passar esse script a baixo pra 0.4 if not Spoof then Spoof = { players = { } } end Spoof.trainerTeleportPosition = Position(997, 1004, 7) Spoof.blockedLookTypes = {159,160,226,194,253,254,255,264,874,900,909,929,956,1024,963,969,965,967,971,973,975,1297,1336,1392,1261,1295,1183,1217,1227,1258,1020,1050,1070,1103,1128,1147,1162,1174,1152,1256,1285,1415,1408,1400,1402,1404,873,899,908,931,955,957,1023,962,968,964,966,970,972,974,1021,1051,1094,1069,1102,1127,1146,1161,1173,1416,1407,1399,1401,1403} local randomTimes = { ["levelAdvance"] = {storage = 54839827, minMinutes = 20, maxMinutes = 30, maxLevel = 300, afterMaxMinPorcentage = 1}, ["exchangeOutfit"] = {storage = 54839828, minMinutes = 240, maxMinutes = 380, chanceToGainAddon = 3}, ["fragAndDeath"] = {storage = 54839829, minMinutes = 480, maxMinutes = 1020, chance = 3}, ["newItem"] = {storage = 54839830, minMinutes = 86400, maxMinutes = 86400 * 2}, ["newQuest"] = {storage = 54839831, minMinutes = 6 * 3600, maxMinutes = 12 * 3600}, ["skillAdvance"] = {storage = 54839832, minMinutes = 30, maxMinutes = 80, maxSkill = 80, afterMaxMinPorcentage = 1} } local itensTable = { [1] = { -- MS [{100, 120}] = {8820, 8819, 7730, 2643, 2190, 2175, 2175}, [{121, 181}] = {2323, 8871, 7730, 2195, 2187, 2175, 2175}, [{181, 220}] = {2323, 8871, 7730, 2195, 2187, 2514, 2175}, [{221, 300}] = {9778, 12643, 7730, 6132, 36101, 2514, 2175}, [{301, 999}] = {9778, 12643, 18400, 6132, 36101, 8918, 2175}, }, [2] = { -- ED [{100, 120}] = {8820, 8819, 7730, 2643, 2182, 2175, 8266}, [{121, 181}] = {2323, 8871, 7730, 2195, 2183, 2175, 8266}, [{181, 220}] = {2323, 8871, 7730, 2195, 2183, 2514, 8266}, [{221, 300}] = {9778, 12643, 7730, 6132, 36101, 2514, 8266}, [{301, 999}] = {9778, 12643, 18400, 6132, 36101, 8918, 8266}, }, [3] = { -- RP [{100, 120}] = {2480, 2660, 2478, 2195, 7368, 2525}, [{121, 181}] = {2480, 2660, 2478, 2195, 7368, 2525, 8266}, [{181, 220}] = {2493, 2660, 9777, 2514, 7368, 2514, 8266}, [{221, 999}] = {12645, 18404, 9777, 6132, 7368, 2514, 8266}, }, [4] = { -- EK [{100, 120}] = {2460, 2465, 2478, 2195, 2525}, [{121, 181}] = {2460, 2465, 2478, 2195, 2525, 8266}, [{181, 220}] = {2493, 2465, 2478, 2195, 2514, 8266}, [{221, 999}] = {2493, 12642, 2478, 2195, 18410, 8266}, }, } local randomAddons = { [1] = {male = 128, female = 136, name = 'Citizen Outfit'}, -- citizen [2] = {male = 129, female = 137, name = 'Hunter addon'}, -- hunter [3] = {male = 132, female = 140, name = 'Nobleman addon'}, -- Noblewoman [4] = {male = 133, female = 138, name = 'Summoner addon'}, -- Summoner [5] = {male = 134, female = 142, name = 'Warrior addon'}, -- Warrior [6] = {male = 143, female = 147, name = 'Barbarian addon'}, -- Barbarian [7] = {male = 144, female = 148, name = 'Druid addon'}, -- Druid [8] = {male = 145, female = 149, name = 'Wizard addon'}, -- Wizard [9] = {male = 146, female = 150, name = 'Oriental addon'}, -- Oriental [10] = {male = 151, female = 155, name = 'Pirate addon'}, -- Pirate [11] = {male = 153, female = 157, name = 'Beggar addon'}, -- Beggar [12] = {male = 154, female = 158, name = 'Shaman addon'}, -- Shaman [13] = {male = 251, female = 252, name = 'Norsewoman addon'}, -- Norsewoman [14] = {male = 152, female = 156, name = 'Assassin addon'}, -- Assassin [15] = {male = 335, female = 336, name = 'Warmaster addon'}, -- Warmaster [16] = {male = 367, female = 366, name = 'Wayfarer addon'}, -- Wayfarer [17] = {male = 463, female = 464, name = 'Deepling addon'}, -- Deepling [18] = {male = 131, female = 139, name = 'Knight addon'} -- Knight Outfit } function Spoof.onLoad(self) local resultId = db.storeQuery("SELECT `name` FROM `players` WHERE `spoof` = 1") if resultId then repeat local playerName = result.getString(resultId, "name") if not self.players[playerName] then self.players[playerName] = 0 end until not result.next(resultId) result.free(resultId) end end function Spoof.isASpoofer(self, name) return self.players[name] end function Spoof.onLogin(self, player) local playerName = player:getName() if not self:isASpoofer(playerName) then return end player:teleportTo(self.trainerTeleportPosition) self.players[playerName] = addEvent(function(self, playerId) self:executeAction(playerId) end, 60 * 1000, self, player:getId()) end function Spoof.getRandomOutfit(self, sex) local resultId = db.storeQuery(string.format("SELECT `looktype`, `lookhead`, `lookbody`, `looklegs`, `lookfeet` FROM `players` WHERE `level` >= 200 AND `sex` = %d ORDER BY rand() LIMIT 1", sex)) local t = { lookType = 0, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0 } if resultId then local lookType = result.getNumber(resultId, "looktype") local lookHead = result.getNumber(resultId, "lookhead") local lookBody = result.getNumber(resultId, "lookbody") local lookLegs = result.getNumber(resultId, "looklegs") local lookFeet = result.getNumber(resultId, "lookfeet") result.free(resultId) t.lookType = lookType t.lookHead = lookHead t.lookBody = lookBody t.lookLegs = lookLegs t.lookFeet = lookFeet end if isInArray(self.blockedLookTypes, t.lookType) then local look = (sex == 0) and math.random(136, 142) or math.random(128, 134) t.lookType = look if math.random(10) <= 6 then local equalColor = math.random(100) t.lookHead = equalColor t.lookBody = equalColor t.lookLegs = equalColor t.lookFeet = equalColor else t.lookHead = math.random(100) t.lookBody = math.random(100) t.lookLegs = math.random(100) t.lookFeet = math.random(100) end end return t end function Spoof.executeAction(self, playerId) -- Spoof:executeAction(player:getId()) local player = Player(playerId) if not player then return end local action = randomTimes local playerSex = player:getSex() local playerGuid = player:getGuid() local playerName = player:getName() -- Verifica se est? nos Trainers if player:isInTrainers() then -- Pega o tempo do Spoof para uma acao -- Dar Frags & mortes local fragAndDeath = action["fragAndDeath"] if (math.random(10) <= fragAndDeath.chance and player:getStorageValue(fragAndDeath.storage) > math.random(fragAndDeath.minMinutes, fragAndDeath.maxMinutes) * 60) and player:getLevel() > 250 then if math.random(10) <= 4 then -- 40% de chance de ser para player a morte -- Player local allSpoofLoggeds = { } for tmpName, _ in pairs(self.players) do if tmpName ~= playerName then allSpoofLoggeds[#allSpoofLoggeds + 1] = tmpName end end if next(allSpoofLoggeds) ~= nil then local randomAmount = math.random(2, 10) local participantsTable = { } for i = 1, randomAmount do local randomParticipant = allSpoofLoggeds[math.random(#allSpoofLoggeds)] if randomParticipant then participantsTable[#participantsTable + 1] = randomParticipant end end local mostDamage = '' local killerName = '' local participants = '' for index, participantName in ipairs(participantsTable) do -- O primeiro participante ter? dado o dano maior e n?o ser? inserido na database como participantes if index == 1 then mostDamage = participantName else -- O Index 2 vai dar o participante como o matador if index == 2 then killerName = participantName end local participantGuid = getPlayerGUIDByName(participantName) participants = string.format('%s%d', participants == '' and '' or participants .. ',', participantGuid) db.query(string.format('UPDATE `players` SET `frags` = `frags` + 1 WHERE `name` = %s', db.escapeString(participantName))) end end db.query(string.format('UPDATE `players` SET `deaths` = `deaths` + 1 WHERE `name` = %s', db.escapeString(playerName))) -- Se por acaso nao tenha um killerName e mostDamage tiver com nome de um player, vamos pegar ele. if killerName == '' and mostDamage ~= '' then killerName = mostDamage end db.query(string.format('INSERT INTO `player_deaths` (`player_id`, `time`, `level`, `killed_by`, `is_player`, `mostdamage_by`, `mostdamage_is_player`, `unjustified`, `mostdamage_unjustified`, `participants`) VALUES (%d, %d, %d, %s, %d, %s, %d, %d, %d, %s)', playerGuid, os.time(), player:getLevel(), db.escapeString(killerName), 1, db.escapeString(mostDamage), 1, 1, 1, db.escapeString(participants))) local removeExperience = #participantsTable * 100000 player:removeExperience(removeExperience) end else -- 60% de chance de ser para monstro normal -- Monstro local resultId = db.storeQuery(string.format("SELECT `killed_by`, `mostdamage_by` FROM `player_deaths` WHERE `mostdamage_is_player` = 0 AND `player_id` != %d ORDER BY RAND() DESC LIMIT 1", playerGuid)) if resultId then local killedBy = result.getString(resultId, "killed_by") local mostDamage = result.getString(resultId, "mostdamage_by") result.free(resultId) -- Verifica se ? VIP o monstro, se for, ent?o vai dar VIP para o Spoofer if (isInArray(VIP_MONSTERS, killedBy) or isInArray(VIP_MONSTERS, mostDamage)) and not player:isVip() then player:loadVipData() player:addVipDays(3) player:updateVipTime() end local participants = '' db.query(string.format('INSERT INTO `player_deaths` (`player_id`, `time`, `level`, `killed_by`, `is_player`, `mostdamage_by`, `mostdamage_is_player`, `unjustified`, `mostdamage_unjustified`, `participants`) VALUES (%d, %d, %d, %s, %d, %s, %d, %d, %d, %s)', playerGuid, os.time(), player:getLevel(), db.escapeString(killedBy), 0, db.escapeString(mostDamage), 0, 0, 0, db.escapeString(participants))) local removeExperience = (math.random(5, 10)) * 100000 player:removeExperience(removeExperience) end player:setStorageValue(fragAndDeath.storage, 0) end end -- Melhorar o Set local newItem = action["newItem"] if (player:getStorageValue(newItem.storage) > math.random(newItem.minMinutes, newItem.maxMinutes) * 60) then if math.random(10) <= 3 then local itemListVocation = itensTable[player:getVocation():getBase():getId()] if itemListVocation then local itemList = nil for v, k in pairs(itemListVocation) do if 301 >= v[1] and 301 <= v[2] then itemList = k break end end if itemList then local itemId = nil local slotItem = nil for i = 1, 100 do local randomItem = itemList[math.random(#itemList)] local itemType = ItemType(randomItem) if itemType then local slot = itemType:getSlotPosition() local tmpSlotItem = SLOTS_CONST[slot] local itemPlayerSlot = player:getSlotItem(tmpSlotItem) if itemPlayerSlot then if randomItem ~= itemPlayerSlot:getId() then itemPlayerSlot:remove() slotItem = tmpSlotItem itemId = randomItem break end else slotItem = tmpSlotItem itemId = itemType:getId() break end end end -- Search for Weapons Avaliable if not player:getSlotItem(CONST_SLOT_LEFT) then for i = 1, 100 do local randomItem = itemList[math.random(#itemList)] local itemType = ItemType(randomItem) if itemType then local slot = itemType:getSlotPosition() local tmpSlotItem = SLOTS_CONST[slot] if slot == 48 and itemType:getWeaponType() ~= 4 then player:addItem(randomItem, 1) break end end end end if itemId then local itemType = ItemType(itemId) if itemType then player:addItem(itemId, 1, false, -1, slotItem) end end end end -- Repara Soft Boots local feetSloot = player:getSlotItem(CONST_SLOT_FEET) if feetSloot then if feetSloot:getId() == 10021 then feetSloot:transform(2640) end end player:save() end end local newQuest = action["newQuest"] -- TODO -- Avan?ar level local advanceLevel = action["levelAdvance"] if (player:getStorageValue(advanceLevel.storage) > math.random(advanceLevel.minMinutes, advanceLevel.maxMinutes) * 60) then local experience = nil if player:getLevel() >= advanceLevel.maxLevel then local randomChance = math.random(1, 2) randomChance = randomChance * 0.1 experience = getExpForLevel(player:getLevel()) * randomChance print(experience) --player:addExperience(experience, false) else experience = getExpForLevel(player:getLevel() + math.random(5)) - player:getExperience() player:addExperience(experience, false) end ExperienceOnline_time:increaseExperience(player:getId(), experience) player:setStorageValue(advanceLevel.storage, 0) end -- Mudar Outfit local exchangeOutfit = action["exchangeOutfit"] if (player:getStorageValue(exchangeOutfit.storage) > math.random(exchangeOutfit.minMinutes, exchangeOutfit.maxMinutes) * 60) then local getRandomOutfit = self:getRandomOutfit(playerSex) player:setOutfit({lookType = getRandomOutfit.lookType, lookHead = getRandomOutfit.lookHead, lookBody = getRandomOutfit.lookBody, lookLegs = getRandomOutfit.lookLegs, lookFeet = getRandomOutfit.lookFeet}) if math.random(10) <= exchangeOutfit.chanceToGainAddon then local randomAddon = nil for i = 1, 100 do local randomOutfit = randomAddons[math.random(#randomAddons)] if randomOutfit then if not player:hasOutfit(playerSex == PLAYERSEX_FEMALE and randomOutfit.female or randomOutfit.male, 3) then randomAddon = randomOutfit break end end end if randomAddon then player:addOutfitAddon(randomAddon.female, 3) player:addOutfitAddon(randomAddon.male, 3) player:getPosition():sendMagicEffect(CONST_ME_FIREWORK_BLUE) local outfit = player:getOutfit() player:setOutfit({lookType = playerSex == PLAYERSEX_FEMALE and randomAddon.female or randomAddon.male, lookHead = outfit.lookHead, lookBody = outfit.lookBody, lookLegs = outfit.lookLegs, lookFeet = outfit.lookFeet, lookAddons = 3}) end end player:setStorageValue(exchangeOutfit.storage, 0) end -- Aumentar Skill local skillAdvance = action["skillAdvance"] if (player:getStorageValue(skillAdvance.storage) > math.random(skillAdvance.minMinutes, skillAdvance.maxMinutes) * 60) then if player:isKnight() or player:isPaladin() then local highestSkill = player:getHigherSkill(player) local getSkill = player:getSkillLevel(highestSkill) if getSkill >= skillAdvance.maxSkill then player:addSkillTries(highestSkill, player:getSkillLevel(highestSkill) + 1 * 0.1) else player:addSkillTries(highestSkill, player:getVocation():getRequiredSkillTries(highestSkill, player:getSkillLevel(highestSkill) + 1) - player:getSkillTries(highestSkill)) end -- Avan?o de Magic Level para Knights & Paladin local magicLevel = player:getMagicLevel() if player:isKnight() then local formula = math.random(2500, 5000) * (player:getVocation():getManaGainAmount() / player:getVocation():getManaGainTicks()) if magicLevel >= 10 then formula = formula * (math.random(3) * 0.1) end player:addManaSpent(formula) else local formula = math.random(3600, 10000) * (player:getVocation():getManaGainAmount() / player:getVocation():getManaGainTicks()) if magicLevel >= 30 then formula = formula * (math.random(5) * 0.1) end player:addManaSpent(formula) end elseif player:isMage() then local playerGetSkill = player:getMagicLevel() if playerGetSkill >= skillAdvance.maxSkill then player:addManaSpent(player:getVocation():getRequiredManaSpent(player:getBaseMagicLevel()) + 1 * 0.1) else player:addManaSpent(player:getVocation():getRequiredManaSpent(player:getBaseMagicLevel()) + 1) end end player:setStorageValue(skillAdvance.storage, 0) -- Treinar Shielding player:addOfflineTrainingTries(SKILL_SHIELD, math.random(500, 1000) / 4) end -- Definir de vez enquanto o personagem para hidden no Site if (player:getStorageValue(54839836) > 86300) then local value = player:isHidden() and 0 or 1 db.query(string.format('UPDATE `players` SET `hidden` = %d WHERE `id` = %d', value, player:getGuid())) player:setStorageValue(54839832, 0) end for _, infoSpoof in pairs(action) do local storage = infoSpoof.storage player:setStorageValue(storage, math.max(0, player:getStorageValue(storage)) + 60) end player:setStorageValue(54839832, math.max(0, player:getStorageValue(54839832)) + 60) end self.players[player:getName()] = addEvent(function(self, playerId) self:executeAction(playerId) end, 60 * 1000, self, playerId) end
-
[Ajuda] Chamar função por comando (CTRL+M)
Galera, queria uma noção de vocês se é possível eu criar uma função pela source ou script mesmo, que quando o player execute o comando CTRL + M no cliente, execute uma função...
-
[Loot Channel] -- Tutorial como adicionar Loot Channel
monsters.cpp: In member function ‘void MonsterType::dropLoot(Container*)’: monsters.cpp:212:9: error: suggest explicit braces to avoid ambiguous ‘else’ [-Werror=parentheses] else if(message == LOOTMSG_PLAYER || message == LOOTMSG_BOTH)
-
Mensagem em AZUL CLARO no Default
Quero igual a da foto, o AZUL CLARO
-
Mensagem em AZUL CLARO no Default
-
Setas do Cast [OTX 2.x]
A minha é mais otimizada, rs. e tem muita coisa nela, vou tentar adaptar o cast com seta seu nela...
-
Setas do Cast [OTX 2.x]
protocolgame.cpp: In member function ‘void ProtocolGame::spectate(const string&, const string&)’: protocolgame.cpp:141:27: error: ‘stoi’ is not a member of ‘std’ uint32_t total = ctime - std::stoi(value); ^ protocolgame.cpp:172:35: error: request for member ‘addProtocolToAutosend’ in ‘OutputMessagePool::getInstance()’, which is of pointer type ‘OutputMessagePool*’ (maybe you meant to use ‘->’ ?) OutputMessagePool::getInstance().addProtocolToAutosend(shared_from_this()); ^ protocolgame.cpp:172:74: error: ‘shared_from_this’ was not declared in this scope OutputMessagePool::getInstance().addProtocolToAutosend(shared_from_this()); ^ protocolgame.cpp: In member function ‘bool ProtocolGame::spectatePlayer(const string&, const string&)’: protocolgame.cpp:206:24: error: ‘class Spectators’ has no member named ‘resetOwner’ player_old->client->resetOwner(); ^ protocolgame.cpp:216:2: error: ‘knownCreatureSet’ was not declared in this scope knownCreatureSet.clear(); ^ protocolgame.cpp:229:27: error: ‘stoi’ is not a member of ‘std’ uint32_t total = ctime - std::stoi(value); ^ protocolgame.cpp:258:35: error: request for member ‘addProtocolToAutosend’ in ‘OutputMessagePool::getInstance()’, which is of pointer type ‘OutputMessagePool*’ (maybe you meant to use ‘->’ ?) OutputMessagePool::getInstance().addProtocolToAutosend(shared_from_this()); ^ protocolgame.cpp:258:74: error: ‘shared_from_this’ was not declared in this scope OutputMessagePool::getInstance().addProtocolToAutosend(shared_from_this()); ^ protocolgame.cpp: In member function ‘void ProtocolGame::returnPlayer()’: protocolgame.cpp:273:35: error: ‘getThis’ was not declared in this scope player->client->setOwner(getThis()); ^ protocolgame.cpp:276:2: error: ‘knownCreatureSet’ was not declared in this scope knownCreatureSet.clear(); ^ protocolgame.cpp: In member function ‘void ProtocolGame::spectatorTurn(uint8_t)’: protocolgame.cpp:325:30: warning: comparison is always false due to limited range of data type [-Wtype-limits] if (index == 0 && direction == -1) { ^ protocolgame.cpp:349:2: error: ‘knownCreatureSet’ was not declared in this scope knownCreatureSet.clear(); ^
-
Setas do Cast [OTX 2.x]
protocolgame.cpp: In member function ‘void ProtocolGame::spectate(const string&, const string&)’: protocolgame.cpp:139:27: error: ‘stoi’ is not a member of ‘std’ uint32_t total = ctime - std::stoi(value); ^ protocolgame.cpp: In member function ‘void ProtocolGame::spectatorTurn(uint8_t)’: protocolgame.cpp:210:30: warning: comparison is always false due to limited range of data type [-Wtype-limits] if (index == 0 && direction == -1) { ^ protocolgame.cpp:234:2: error: ‘knownCreatureSet’ was not declared in this scope knownCreatureSet.clear();
-
Setas do Cast [OTX 2.x]
tambem tem a opcao de dar look nos itens?
-
ERRO COMPILAR TFS 0.4 LINUX UBUNTU 20.04
Woox, como fazemos essa substituicao ?
-
Erro ao compilar OTX2 em UBUNTU 20.04
up
-
Diferenciar client proprio de client normal / Dar bônus para quem usar o client proprio
Não
-
Substituição de Sprite OldClient x Custom Client C++
Fala galera, beleza? A tempo venho procurando alguma forma de fazer essa substituição de sprite. Como funciona? É bem simples, no OldClient, ou client da cipsoft normal, apresentaria uma sprite comum, já no custom client do servidor apresentaria a sprite atualizada. Segue videos de demonstracao
-
Diferenciar client proprio de client normal / Dar bônus para quem usar o client proprio
up
-
Diferenciar client proprio de client normal / Dar bônus para quem usar o client proprio
Seguinte pessoal, estou com uma dúvida se isso seria possível de se fazer usando tfs 0.4 Seria basicamente diferenciar os players que usam o client proprio do servidor do client "normal" ou o client da cipsoft. A ideia seria o seguinte, o player que usar o client proprio ganha 5% a mais de exp. Alguém sabe alguma forma de diferenciar os clients? Seja com script ou pelas sources mesmo?
-
[Problema OVH] Isso já aconteceu com alguem? Anti-Hack
Eu havida trocado a porta do SSH, porém não sei o que houve. Será que eu consigo recuperar o servidor ou o mesmo foi bloqueado e não tem solução ?
- Baiak-PvP [8.60] - Watch System + Cast Look
-
[Problema OVH] Isso já aconteceu com alguem? Anti-Hack
Cheguei do trabalho e fui ver meu servidor ele estava offline, entrei no site da OVH e pra minha surpresa tinha essa mensagem: De Suporte da OVHcloud Olá, Uma atividade anormal foi detetada no seu servidor VPS vps-9bf7c433.vps.ovh.ca. Isso constitui uma rutura de contrato, o seu servidor vps-9bf7c433.vps.ovh.ca foi bloqueado. Poderá encontrar aqui os logs que conduziram à criação deste alerta: - INICIO DAS INFORMAÇÕES COMPLEMENTARES- Attack detail : 72Kpps/501Mbps dateTime srcIp:srcPort dstIp:dstPort protocol flags bytes reason 2020.07.27 18:21:06 CEST 167.114.96.210:34631 144.0.2.181:80 TCP SYN 891 ATTACK:TCP_SYN 2020.07.27 18:21:06 CEST 167.114.96.210:380 144.0.2.181:80 TCP SYN 907 ATTACK:TCP_SYN 2020.07.27 18:21:06 CEST 167.114.96.210:2917 144.0.2.181:80 TCP SYN 925 ATTACK:TCP_SYN 2020.07.27 18:21:06 CEST 167.114.96.210:58426 144.0.2.181:80 TCP SYN 908 ATTACK:TCP_SYN 2020.07.27 18:21:06 CEST 167.114.96.210:47097 144.0.2.181:80 TCP SYN 911 ATTACK:TCP_SYN 2020.07.27 18:21:06 CEST 167.114.96.210:38903 144.0.2.181:80 TCP SYN 903 ATTACK:TCP_SYN 2020.07.27 18:21:06 CEST 167.114.96.210:55513 144.0.2.181:80 TCP SYN 922 ATTACK:TCP_SYN 2020.07.27 18:21:06 CEST 167.114.96.210:40010 144.0.2.181:80 TCP SYN 928 ATTACK:TCP_SYN 2020.07.27 18:21:06 CEST 167.114.96.210:4681 144.0.2.181:80 TCP SYN 934 ATTACK:TCP_SYN 2020.07.27 18:21:06 CEST 167.114.96.210:5623 144.0.2.181:80 TCP SYN 919 ATTACK:TCP_SYN 2020.07.27 18:21:06 CEST 167.114.96.210:16121 144.0.2.181:80 TCP SYN 928 ATTACK:TCP_SYN 2020.07.27 18:21:06 CEST 167.114.96.210:50797 144.0.2.181:80 TCP SYN 912 ATTACK:TCP_SYN 2020.07.27 18:21:06 CEST 167.114.96.210:19823 144.0.2.181:80 TCP SYN 897 ATTACK:TCP_SYN 2020.07.27 18:21:06 CEST 167.114.96.210:42712 144.0.2.181:80 TCP SYN 936 ATTACK:TCP_SYN 2020.07.27 18:21:06 CEST 167.114.96.210:5958 144.0.2.181:80 TCP SYN 919 ATTACK:TCP_SYN 2020.07.27 18:21:06 CEST 167.114.96.210:14773 144.0.2.181:80 TCP SYN 935 ATTACK:TCP_SYN 2020.07.27 18:21:06 CEST 167.114.96.210:61516 144.0.2.181:80 TCP SYN 922 ATTACK:TCP_SYN 2020.07.27 18:21:06 CEST 167.114.96.210:48294 144.0.2.181:80 TCP SYN 906 ATTACK:TCP_SYN 2020.07.27 18:21:06 CEST 167.114.96.210:33986 144.0.2.181:80 TCP SYN 914 ATTACK:TCP_SYN 2020.07.27 18:21:06 CEST 167.114.96.210:35176 144.0.2.181:80 TCP SYN 915 ATTACK:TCP_SYN - INICIO DAS INFORMAÇÕES COMPLEMENTARES - Cordialmente, Suporte OVH. [ref=1.e97b3e5f] Desculpe se postei na area errada, eu nao sabia onde postar...
-
Player Morre e Recupera toda a Stamina
Quando um player morre no meu servidor, ele está recuperando toda a stamina. Alguém pode me ajudar com isso?
-
(Resolvido)Limite de MC na Otserverlist?
@You Know Nothing Explica ai
-
[Ajuda] Servidor travando de 1 em 1 hora
-- The OTX Server Config -- Owner Data ownerName = "Farathor" ownerEmail = "[email protected]" url = "http://baiak-hells.com/" location = "Brazil" -- Messages motd = "Welcome to the Baiak Hells!" serverName = "Baiak Hells" loginMessage = "Welcome to the Baiak Hells!" displayGamemastersWithOnlineCommand = false -- MySql sqlType = "mysql" sqlHost = "127.0.0.1" sqlPort = 3306 sqlUser = "root" sqlPass = "" sqlDatabase = "" sqlFile = "schemas/otxserver.s3db" sqlKeepAlive = 0 mysqlReadTimeout = 0 mysqlWriteTimeout = 0 mysqlReconnectionAttempts = 5 encryptionType = "sha1" -- World / Ip / Port worldId = 0 ip = "66.70.190.56" worldType = "open" bindOnlyGlobalAddress = false loginPort = 7171 gamePort = "7172" statusPort = 7171 loginOnlyWithLoginServer = false -- Account manager accountManager = true namelockManager = false newPlayerChooseVoc = true newPlayerSpawnPosX = 1000 newPlayerSpawnPosY = 1000 newPlayerSpawnPosZ = 7 newPlayerTownId = 1 newPlayerLevel = 8 newPlayerMagicLevel = 0 generateAccountNumber = false generateAccountSalt = false -- Limits on frags / Time fragsLimit = 24 * 60 * 60 fragsSecondLimit = 7 * 24 * 60 * 60 fragsThirdLimit = 30 * 24 * 60 * 60 -- Red Skull Config fragsToRedSkull = 50 fragsSecondToRedSkull = 150 fragsThirdToRedSkull = 600 redSkullLength = 3 * 24 * 60 * 60 -- Black Skull Config fragsToBlackSkull = 50 fragsSecondToBlackSkull = 150 fragsThirdToBlackSkull = 600 blackSkulledDeathHealth = 40 blackSkulledDeathMana = 0 blackSkullLength = 7 * 24 * 60 * 60 useBlackSkull = true -- Banishment Config -- killsBanLength works only if useBlackSkull option is disabled. notationsToBan = 3 warningsToFinalBan = 4 warningsToDeletion = 5 banLength = 7 * 24 * 60 * 60 killsBanLength = 7 * 24 * 60 * 60 finalBanLength = 30 * 24 * 60 * 60 ipBanLength = 1 * 24 * 60 * 60 fragsToBanishment = 7 fragsSecondToBanishment = 21 fragsThirdToBanishment = 41 -- Battle -- NOTE: showHealth/ManaChangeForMonsters inherites from showHealth/ManaChange. protectionLevel = 1 pvpTileIgnoreLevelAndVocationProtection = true pzLocked = 1 * 60 * 1000 huntingDuration = 1 * 60 * 1000 criticalHitMultiplier = 1 displayCriticalHitNotify = false removeWeaponAmmunition = false removeWeaponCharges = false removeRuneCharges = false whiteSkullTime = 1 * 60 * 1000 advancedFragList = true useFragHandler = true noDamageToSameLookfeet = false showHealthChange = true showManaChange = false showHealthChangeForMonsters = false showManaChangeForMonsters = false fieldOwnershipDuration = 5 * 1000 stopAttackingAtExit = false loginProtectionPeriod = 1 * 1000 deathLostPercent = 5 stairhopDelay = 0.5 * 1000 pushCreatureDelay = 0.2 * 1000 deathContainerId = 1987 gainExperienceColor = 215 addManaSpentInPvPZone = true recoverManaAfterDeathInPvPZone = true squareColor = 0 broadcastBanishments = false maxViolationCommentSize = 60 violationNameReportActionType = 2 -- OTX Server Extras Features -- Corpse Block -- If set to true, players won't be able to immediately throw fields on top of corpses after killing the monster allowCorpseBlock = false -- Push creatures -- If set to false, players won't be able to push creatures while other actions are exhausted(for example potions) allowIndependentCreaturePush = true -- Battle optionalWarAttackableAlly = true fistBaseAttack = 7 criticalHitChance = 7 noDamageToGuildMates = false -- if true then no damage, if false then damage noDamageToPartyMembers = false -- if true then no damage, if false then damage -- Rook System rookLevelTo = 5 rookLevelToLeaveRook = 8 rookTownId = 1 useRookSystem = true -- Monsters Attack Config -- set monsterAttacksOnlyDamagePlayers to false if you want monster's attacks to damage other nearby monsters monsterAttacksOnlyDamagePlayers = true -- Paralyze delay paralyzeDelay = 1000 -- GUI premiumDaysToAddByGui = 10 -- Depot and Miscellaneous -- set playerFollowExhaust to 2000 if someone causes lags and kicks by following unreachable creatures too often useCapacity = true defaultDepotSize = 500 defaultDepotSizePremium = 1000 enableProtectionQuestForGM = true cleanItemsInMap = false playerFollowExhaust = 2000 -- 8.7x + config monsterSpawnWalkback = true allowBlockSpawn = true classicEquipmentSlots = true -- Summons and monsters NoShareExpSummonMonster = false -- Others enableLootBagDisplay = false highscoreDisplayPlayers = 10 updateHighscoresAfterMinutes = 60 attackImmediatelyAfterLoggingIn = false exhaustionNPC = true exhaustionInSecondsNPC = 0.5 delayLastPushStep = true optionalProtection = false -- Advanced Version -- Note: If you use another protocol than the one we set as you will have functional failures. -- Supported (860) = 8.60 manualVersionConfig = false versionMin = 860 versionMax = 860 versionMsg = "Only clients with protocol 8.60 allowed!" -- ConfigSpells -- Note: set noAttackHealingSimultaneus to true if you want the attack and healing spells to have the same exhausted noAttackHealingSimultaneus = false -- Connection config loginTries = 20 retryTimeout = 5 * 1000 loginTimeout = 60 * 1000 maxPlayers = 1000 displayOnOrOffAtCharlist = false onePlayerOnlinePerAccount = true allowClones = 0 statusTimeout = 1000 replaceKickOnLogin = true forceSlowConnectionsToDisconnect = false premiumPlayerSkipWaitList = true packetsPerSecond = 1000 loginProtectionTime = 1 -- Death List and Blessings -- Function retroPVP true change it: -- deathAssistCount to 1 -- useFairfightReduction to false -- fairFightTimeRange = 30 deathListEnabled = true deathListRequiredTime = 1 * 60 * 1000 maxDeathRecords = 5 multipleNames = false -- Retro PVP retroPVP = false deathAssistCount = 20 -- Blessings blessings = true blessingOnlyPremium = false blessingReductionBase = 30 blessingReductionDecrement = 5 eachBlessReduction = 8 useFairfightReduction = true fairFightTimeRange = 60 pvpBlessingThreshold = 40 -- Guilds -- NOTE: externalGuildWarsManagement supports Automatic Account Creator(webpage or whatever you want) externalGuildWarsManagement = false ingameGuildManagement = true levelToFormGuild = 100 premiumDaysToFormGuild = 0 guildNameMinLength = 4 guildNameMaxLength = 20 -- Houses buyableAndSellableHouses = true houseNeedPremium = false bedsRequirePremium = false levelToBuyHouse = 100 housesPerAccount = 1 houseRentAsPrice = false housePriceAsRent = false housePriceEachSquare = 100000 houseRentPeriod = "weekly" houseCleanOld = 8 * 24 * 60 * 60 guildHalls = true houseSkipInitialRent = true houseProtection = true -- Item usage timeBetweenActions = 0 timeBetweenExActions = 0 timeBetweenCustomActions = 0 checkCorpseOwner = true hotkeyAimbotEnabled = true maximumDoorLevel = 999 tradeLimit = 100 canOnlyRopePlayers = false -- Map -- NOTE: storeTrash costs more memory, but will perform alot faster cleaning. -- houseDataStorage usage may be found at how-use-internal-functions.log mapAuthor = "Farathor" randomizeTiles = true houseDataStorage = "binary-tilebased" storeTrash = true cleanProtectedZones = true mapName = "BaiakHells2019.otbm" -- For Windows(compiled with MSVC) and Linux use: -- OTX Server use default GroundCache -- GroundCache mode save memory: __GROUND_CACHE__ -- forgotten map on normal mode use memory: 361,512 KB -- forgotten map with groundCache mode use memory: 334,124 KB -- Mailbox mailMaxAttempts = 5 mailBlockPeriod = 30 * 60 * 1000 mailAttemptsFadeTime = 5 * 60 * 1000 mailboxDisabledTowns = "" -- Example disable rook depot (temple) "4" -- mailboxDisabledTowns = "4" -- Startup -- For Linux use "-1" is default -- daemonize works only on *nix, same as niceLevel daemonize = false defaultPriority = "higher" niceLevel = 5 coresUsed = "-1" startupDatabaseOptimization = true removePremiumOnInit = true confirmOutdatedVersion = false skipItemsVersionCheck = true -- Muted buffer maxMessageBuffer = 4 -- Miscellaneous dataDirectory = "data/" logsDirectory = "data/logs/" disableOutfitsForPrivilegedPlayers = false bankSystem = true spellNameInsteadOfWords = false emoteSpells = true unifiedSpells = true promptExceptionTracerErrorBox = true storePlayerDirection = false savePlayerData = true monsterLootMessage = 3 monsterLootMessageType = 25 separateViplistPerCharacter = false vipListDefaultLimit = 20 vipListDefaultPremiumLimit = 100 -- Outfits allowChangeOutfit = true allowChangeColors = true allowChangeAddons = true addonsOnlyPremium = false -- Ghost mode ghostModeInvisibleEffect = true ghostModeSpellEffects = true -- Limits -- Tile Limits set to 0 for prevent crash idleWarningTime = 14 * 60 * 1000 idleKickTime = 15 * 60 * 1000 expireReportsAfterReads = 1 playerQueryDeepness = -1 protectionTileLimit = 0 houseTileLimit = 0 tileLimit = 0 -- Premium-related freePremium = false premiumForPromotion = false updatePremiumStateAtStartup = true -- Rates experienceStages = true rateExperience = 100 rateExperienceFromPlayers = 0 levelToOfflineTraining = 8 rateSkill = 10 rateSkillOffline = 5 rateMagic = 5 rateMagicOffline = 2 rateLoot = 5 rateSpawnMin = 1 rateSpawnMax = 1 formulaLevel = 5.0 formulaMagic = 1.0 -- Monster rates rateMonsterHealth = 1.0 rateMonsterMana = 1.0 rateMonsterAttack = 1.0 rateMonsterDefense = 1.0 -- Experience from players minLevelThresholdForKilledPlayer = 0.9 maxLevelThresholdForKilledPlayer = 1.1 -- Stamina System -- NOTE: The Stamina gain will only start counting after 10 minutes of being offline -- rateStaminaLoss = The amount of Stamina(in minutes) a player will loose after 1 minute of hunting -- rateStaminaGain = The amount of time(in minutes) a player will need to be offline to get 1 minute of Stamina(from 0 stamina to 'staminaRatingLimitTop') -- rateStaminaThresholdGain = The amount of time(in minutes) a player will need to be offline to get 1 minute of Stamina(from 'staminaRatingLimitTop' to full stamina) -- staminaRatingLimitTop = Above this Stamina players will receive 'rateStaminaAboveNormal' times the amount of the exp -- staminaRatingLimitBottom = Below this Stamina players will receive 'rateStaminaUnderNormal' times the amount of the exp -- staminaLootLimit = Below this Stamina players will no longer receive any loot -- rateStaminaAboveNormal = The experience multiplier for players above 'staminaRatingLimitTop' Stamina(1.5 means the player will receive 50% extra experience) -- rateStaminaUnderNormal = The experience multiplier for players below 'staminaRatingLimitBottom' Stamina(0.5 means the player will receive only half the experience) rateStaminaLoss = 1 rateStaminaGain = 3 rateStaminaThresholdGain = 12 staminaRatingLimitTop = 40 * 60 staminaRatingLimitBottom = 14 * 60 staminaLootLimit = 14 * 60 rateStaminaAboveNormal = 1.5 rateStaminaUnderNormal = 0.5 staminaThresholdOnlyPremium = false -- Party System experienceShareRadiusX = 30 experienceShareRadiusY = 30 experienceShareRadiusZ = 1 experienceShareLevelDifference = 2 / 3 extraPartyExperienceLimit = 20 extraPartyExperiencePercent = 5 experienceShareActivity = 2 * 60 * 1000 -- Global save globalSaveEnabled = false globalSaveHour = 8 globalSaveMinute = 0 shutdownAtGlobalSave = true cleanMapAtGlobalSave = false -- Spawns minRateSpawn = 1 maxRateSpawn = 3 deSpawnRange = 2 deSpawnRadius = 50 -- Summons maxPlayerSummons = 2 teleportAllSummons = false teleportPlayerSummons = true -- Logs disableLuaErrors = false adminLogs = true displayPlayersLogging = true prefixChannelLogs = "" runFile = "server/run.log" outputLog = "server/out.log" truncateLogOnStartup = false logPlayersStatements = false -- Manager -- NOTE: managerPassword left blank disables manager. managerPort = 7171 managerLogs = true managerPassword = "" managerLocalhostOnly = true managerConnectionsLimit = 1 -- Admin -- NOTE: adminPassword left blank disables manager. -- Set to anything if you set adminRequireLogin to false. -- adminEncryption available options: rsa1024xtea; -- remember to set correct data! adminPort = 7171 adminPassword = "" adminLocalhostOnly = true adminConnectionsLimit = 1 adminRequireLogin = true adminEncryption = "" adminEncryptionData = "" -- Don't edit use at your own risk saveGlobalStorage = false bufferMutedOnSpellFailure = false
-
[Ajuda] Servidor travando de 1 em 1 hora
Olá, gostaria de uma ajuda. Meu servidor a cada praticamente 1 hora ele simplesmente congela durante uns 10, 20 segundos. O Consumo da CPU, e da memoria não chega nem perto de 100%. Já olhei globalevents que executam a cada 1 hora, desativei o mesmo e não parou de travar. Eu uso debian 9