raggaer / castro Goto Github PK
View Code? Open in Web Editor NEWHigh performance content management system for Open Tibia servers
License: MIT License
High performance content management system for Open Tibia servers
License: MIT License
Move signature generation to lua
config.lua How to configure?
Thank you!
Currently a dialect system is in place where you need to create your own "dialect" to work for different server distros.
Maybe there is a better approach to this
Make tibia 11 login page
Since Go maps cannot be ordered we need something to overcome this
Add rate-limiting
If there are no articles in the database this results in a redirect loop (ERR_TOO_MANY_REDIRECTS).
https://github.com/Raggaer/castro/blob/master/pages/index/get.lua#L20-L23
One solution could be to insert a dummy article and continue to render the page:
if data.articles == nil then
data.articles = {{title = "No articles", text = "No articles exist yet.", created_at = 0}}
end
i suggest glide
Using cache:get("test") without having first set a value on the key results in a script breaking error (L.ArgError).
I would expect the call to cache:get() to return nil if the key is not set.
Example snippet:
function get()
local cached = cache:get("test")
if cached == nil then
cache:set("test", "SomeData", "4h")
end
end
Currently the above snippet results in an error like this : .../get.lua:2: bad argument #1 to get (No cache value found using the given key)
unless "test" is already set.
Replacing this line with L.Push(lua.LNil)
yields the behavior I would expect.
Is there a reason for the current behavior that I am missing?
My plan is to make all AAC pages use the lua bindings. I first need to implement a database driver for the lua vm
I am not sure about performance
Change lua package path
Be able to convert znote and raw accounts to castro
Instead call LoadFile
for every lua file and then push the functions to the lua states
That way we dont have to call DoFile
on each request
Use goxc for compiling. Provide the goxc configuration file too.
I still have the same problem with json:marshal(table)
turning "arrays" into objects and I'm pretty sure I found the reason for that.
In func TableToMap(table *lua.LTable)
the index is always set as a string here.
The result is that table[1]
becomes equivalent to table["1"]
.
Load test the whole application
Time metatable and url metatable
Either use luasql or custom wrappers around Castro connection
Add lua methods to work with .json
files
Add helpers to read other lua files and get variables like tables.
For example load a TFS script related to quests and read the quests table
Use http.Server
instead of ListenAndSeve
to add deadlines
Add better documentation and examples on the lua metatables functions. This will greatly help the AAC script creator (reading comments to get functions)
Add CSRF protection to all POST forms
Replace standard html/template
package for quicktemplate
Use custom request context
can u provide a online demo?
Add support gomail for lua
Allow data:
scheme for images
Make a better one
Uses a lot of memory for RL maps
Add some buttons to insert BB codes into the textarea
Add lua hooks
Add TFS like metatables
https://raggaer.pw/subtopic/library/spells
Also looks like it's spasming out while loading the page, but that might have to do with it
Add lua methos to work with .xml
files
Show executed querys while on development mode
Having lua is expensive. Performance could be improved by caching several things
Widgets
Database calls
Templates
Obviously running development mode is slower (multiple things get compiled on each request)
I am also not sure about the memory footprint but since we have a gc who cares ๐ฅ
Remove the current gzip handler and use the battle-tested negroni one
Currently we only check for znote accounts. We should check for normal accounts if znote is not installed (gesior)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.