• 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!

Castro AAC

error 1045: acces denied for user 'nil' localhost -using password:YES-
what should i do?
this happen when i put my path
 
@forgee is working on guild wars

RjYkPno.png


GvR5E2Z.png


Release is coming soon. Almost everything is done... any features you would like to have by default?

Just as a reminder. The live preview (running few commits behind) is Forgotten
 
Looks great mate, is it possible have guild logo?
 
Definitely using this with my server when you release it! Great freakin' work, keep it up!

When you do the shop system, could you set it up to allow us to give items with actionIDs/uniqueIDs?
Hopefully mounts, outfits and addons will be an option too.

Another side note, possibly make the shop page have category tabs on the side so we can edit easily for vip items, supplies, decorations, etc.
 
Definitely using this with my server when you release it! Great freakin' work, keep it up!

When you do the shop system, could you set it up to allow us to give items with actionIDs/uniqueIDs?
Hopefully mounts, outfits and addons will be an option too.

Another side note, possibly make the shop page have category tabs on the side so we can edit easily for vip items, supplies, decorations, etc.

I was hoping to let TFS handle that (client integrated shop) but I dont see much progress so I guess I might need to code a shop. In this case your suggestions seems doable. Thanks =)
 
That would be amazing! In the case someone does have code to use ingame shop, you could add "disable buy now button" in config so people only can view items in shop. But you're right, there's no official patch for working store so maybe best to do it through website still :) Cant wait to see what you come up with for the store!
 
Thanks to recent additions we have pretty solid cURL-like support. There are no scripts in the official repo that use these functions yet but here are some snippets from my test scripts. Just to give an idea of what we can do.

Fetching GitHub contributors via their API:
Lua:
data.contributors = http:get("https://api.github.com/repos/Raggaer/castro/contributors")
eqE754l.png


Updating DNS records through the Cloudflare API:
Lua:
-- Required headers
local headers = {
    ["Content-Type"] = "application/json",
    ["X-Auth-Key"] = config.cloudflare.api_key,
    ["X-Auth-Email"] = config.cloudflare.email
}

local update = http:curl({
    method = "PUT",
    headers = headers,
    data = string.format('{"type":"%s", "name":"%s", "content":"%s"}', record.type, record.name, newIp),
    url = string.format("%s/zones/%s/dns_records/%s", config.cloudflare.url, config.cloudflare.zone_id, record.id)
})
 
More examples using the cURL support. Working hard on the plugin system. You can easily change the plugin server address (so you can host or use any other plugin server) by default Castro will work with my plugin server.

5zW3pai.png


OJkA77c.png


Plugins can be: Pages, Widgets, Engine. I am still figuring out how to make this properly.
 
You should allow external plugins/extensions too. Do as Wordpress, you can download plugins from the server or upload it yourself on folder. If the folder exists, you just need to enable/disable.
 
You should allow external plugins/extensions too. Do as Wordpress, you can download plugins from the server or upload it yourself on folder. If the folder exists, you just need to enable/disable.
External plugins are already supported =)
 
Downloading a plugin is now donw (not installing just downloading)

2017-04-08_00-55-59.gif


Everything done using lua. Here is how this is done

Lua:
function get()
    -- Block access for anyone who is not admin
    if not session:isLogged() or not session:isAdmin() then
        http:redirect("/")
        return
    end

    if not app.Plugin.Enabled then
        http:redirect("/")
        return
    end

    local c = {}

    c.method = "POST"
    c.url = app.Plugin.Origin .. "/plugin/view/" .. http.getValues.id .. "/download"
    c.authentication = {}
    c.authentication.username = app.Plugin.Username
    c.authentication.password = app.Plugin.Password

    local resp, _, code = http:curl(c)

    if code == 500 then
        session:setFlash("Error", json:unmarshal(resp).Message)
        http:redirect("/subtopic/admin/extensions/view?id=" .. http.getValues.id)
        return
    end

    http:setHeader("Content-Type", "application/zip")
    http:setHeader("Content-Disposition", "attachment; filename=plugin.zip")
    http:write(resp)
end

The plugin manager is of course optional. You will be able to download plugins from your trusted sources
 
Back
Top