• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

[12.x] OTServBR-Global

I just compiled and run this the other day (Linux, Ubuntu 20.04.3 LTS). Worked just fine.

Links for local Windows setup also worked for me.
 
any way to add otcv8 to older versions of otservbr / canary? 12.91 / 13.10 or is it dead since kondrah left developing
 
There is a 12.91 multi protocol with otc working.
tried it, preys not working

cf9bc5dd55716e67fa71303ce344d83b.jpg
 
1681487699585.png

Server is online but witch client i need? i have download ip changer dont work ... i have change key.pem dont work pls help me
 
View attachment 74844 View attachment 74845 View attachment 74846


thx for your help i have download 12.86 but don´t work again
Use a last version of website fot this type of server.
Example ZnoteAAC using a script added to your server folder data/scripts ( znote login )

Examples websites:

On you server go to data/scripts/creaturescripts, create a new file called: znote_login.lua insert this inside:

Lua:
-- Znote LoginWebService (version 1) for protocol 11, 12+
-- Move file to this location: data/scripts/znote_login.lua
-- And restart OT server, it should auto load script.
-- Requires updated version of Znote AAC. (18. June 2020)
-- This script will help Znote AAC connect players to this game server.

local znote_loginWebService = GlobalEvent("znote_loginWebService")
function znote_loginWebService.onStartup()
    print(" ")
    print("=============================")
    print("= Znote AAC loginWebService =")
    print("=============================")
    local configLua = {
        ["SERVER_NAME"] = configManager.getString(configKeys.SERVER_NAME),
        ["IP"] = configManager.getString(configKeys.IP),
        ["GAME_PORT"] = configManager.getNumber(configKeys.GAME_PORT)
    }
    local configSQL = {
        ["SERVER_NAME"] = false,
        ["IP"] = false,
        ["GAME_PORT"] = false
    }
    local webStorage = db.storeQuery([[
        SELECT
            `key`,
            `value`
        FROM `znote_global_storage`
        WHERE `key` IN('SERVER_NAME', 'IP', 'GAME_PORT')
    ]])
    if webStorage ~= false then
        repeat
            local key = result.getString(webStorage, 'key')
            local value = result.getString(webStorage, 'value')
            configSQL[key] = value
        until not result.next(webStorage)
        result.free(webStorage)
    end
    local inserts = {}
    if configSQL.SERVER_NAME == false then
        table.insert(inserts, "('SERVER_NAME',".. db.escapeString(configLua.SERVER_NAME) ..")")
    elseif configSQL.SERVER_NAME ~= configLua.SERVER_NAME then
        db.query("UPDATE `znote_global_storage` SET `value`=".. db.escapeString(configLua.SERVER_NAME) .." WHERE `key`='SERVER_NAME';")
        print("= Updated [SERVER_NAME] FROM [" .. configSQL.SERVER_NAME .. "] to [" .. configLua.SERVER_NAME .. "]")
    end
    if configSQL.IP == false then
        table.insert(inserts, "('IP',".. db.escapeString(configLua.IP) ..")")
    elseif configSQL.IP ~= configLua.IP then
        db.query("UPDATE `znote_global_storage` SET `value`=".. db.escapeString(configLua.IP) .." WHERE `key`='IP';")
        print("= Updated [IP] FROM [" .. configSQL.IP .. "] to [" .. configLua.IP .. "]")
    end
    if configSQL.GAME_PORT == false then
        table.insert(inserts, "('GAME_PORT',".. db.escapeString(configLua.GAME_PORT) ..")")
    elseif configSQL.GAME_PORT ~= tostring(configLua.GAME_PORT) then
        db.query("UPDATE `znote_global_storage` SET `value`=".. db.escapeString(configLua.GAME_PORT) .." WHERE `key`='GAME_PORT';")
        print("= Updated [GAME_PORT] FROM [" .. configSQL.GAME_PORT .. "] to [" .. configLua.GAME_PORT .. "]")
    end
    if #inserts > 0 then
        db.query("INSERT INTO `znote_global_storage` (`key`,`value`) VALUES "..table.concat(inserts,',')..";")
        print("= Fixed " .. #inserts .. " missing configurations.")
    end
    print("=============================")
    print("= SERVER_NAME: " .. configLua.SERVER_NAME)
    print("= IP: " .. configLua.IP)
    print("= GAME_PORT: " .. configLua.GAME_PORT)
    print("=============================")
    print(" ")
end
znote_loginWebService:register()
 
Use a last version of website fot this type of server.
Example ZnoteAAC using a script added to your server folder data/scripts ( znote login )

Examples websites:

On you server go to data/scripts/creaturescripts, create a new file called: znote_login.lua insert this inside:

Lua:
-- Znote LoginWebService (version 1) for protocol 11, 12+
-- Move file to this location: data/scripts/znote_login.lua
-- And restart OT server, it should auto load script.
-- Requires updated version of Znote AAC. (18. June 2020)
-- This script will help Znote AAC connect players to this game server.

local znote_loginWebService = GlobalEvent("znote_loginWebService")
function znote_loginWebService.onStartup()
    print(" ")
    print("=============================")
    print("= Znote AAC loginWebService =")
    print("=============================")
    local configLua = {
        ["SERVER_NAME"] = configManager.getString(configKeys.SERVER_NAME),
        ["IP"] = configManager.getString(configKeys.IP),
        ["GAME_PORT"] = configManager.getNumber(configKeys.GAME_PORT)
    }
    local configSQL = {
        ["SERVER_NAME"] = false,
        ["IP"] = false,
        ["GAME_PORT"] = false
    }
    local webStorage = db.storeQuery([[
        SELECT
            `key`,
            `value`
        FROM `znote_global_storage`
        WHERE `key` IN('SERVER_NAME', 'IP', 'GAME_PORT')
    ]])
    if webStorage ~= false then
        repeat
            lokaler Schlüssel = result.getString(webStorage, 'key')
            lokaler Wert = result.getString(webStorage, 'value')
            configSQL[Schlüssel] = Wert
        bis nicht result.next (webStorage)
        result.free(webStorage)
    Ende
    lokale Einfügungen = {}
    if configSQL.SERVER_NAME == false then
        table.insert(fügt, "('SERVER_NAME',".. db.escapeString(configLua.SERVER_NAME) .."))
    elseif configSQL.SERVER_NAME ~= configLua.SERVER_NAME dann
        db.query("UPDATE `znote_global_storage` SET `value`=".. db.escapeString(configLua.SERVER_NAME) .." WHERE `key`='SERVER_NAME';")
        print("= Updated [SERVER_NAME] FROM [" .. configSQL.SERVER_NAME .. "] to [" .. configLua.SERVER_NAME .. "]")
    Ende
    if configSQL.IP == false then
        table.insert(fügt, "('IP',".. db.escapeString(configLua.IP) .."))
    elseif configSQL.IP ~= configLua.IP dann
        db.query("UPDATE `znote_global_storage` SET `value`=".. db.escapeString(configLua.IP) .." WHERE `key`='IP';")
        print("= Updated [IP] FROM [" .. configSQL.IP .. "] to [" .. configLua.IP .. "]")
    Ende
    if configSQL.GAME_PORT == false then
        table.insert(fügt, "('GAME_PORT',".. db.escapeString(configLua.GAME_PORT) .."))
    elseif configSQL.GAME_PORT ~= tostring(configLua.GAME_PORT) then
        db.query("UPDATE `znote_global_storage` SET `value`=".. db.escapeString(configLua.GAME_PORT) .." WHERE `key`='GAME_PORT';")
        print("= Updated [GAME_PORT] FROM [" .. configSQL.GAME_PORT .. "] to [" .. configLua.GAME_PORT .. "]")
    Ende
    if #inserts > 0 then
        db.query("INSERT INTO `znote_global_storage` (`key`,`value`) VALUES "..table.concat(inserts,',')..";")
        print("= " .. #inserts .. " fehlende Konfigurationen behoben.")
    Ende
    print("==============================")
    print("= SERVER_NAME: " .. configLua.SERVER_NAME)
    print("= IP: " .. configLua.IP)
    print("= GAME_PORT: " .. configLua.GAME_PORT)
    print("==============================")
    drucken(" ")
Ende
znote_loginWebService:register()
1681549591880.png


1681549615640.png
Post automatically merged:

is there no server with everything that goes with it that I can just download? I just don't want to play with a few friends anymore ^^
 
View attachment 74865


View attachment 74866
Post automatically merged:

is there no server with everything that goes with it that I can just download? I just don't want to play with a few friends anymore ^^
A 12x Server requires a website.

Your picture shows your www or htdocs folder ?
Delete all inside, add files of one of the websites link i send you,
Edit config.php of website and config.lua from server, serverName most be the same on both config.php
Add the script that i send you on your server.

Upload Database of server on phpmyadmin, after that upload .SQL from website ( engine/database/znote_schema.sql )
Create a new user on phpmyadmin and give the access to the database, this User & Password ( also database name ) it's the MySQL information that you need write on your config.php and config.lua.
 
Back
Top