• Content Count

  • Avg. Content Per Day

  • Joined

  • Last visited

  • Days Won


Universe last won the day on April 26

Universe had the most liked content!

Community Reputation

22 Excellent

About Universe

  • Rank
    Santa Poring

Profile Information

  • Gender
  • Location
  • Server
  • Github

Contact Methods

  • Discord

Recent Profile Visitors

118 profile views
  2. Update: 0.4.0 is almost ready! I got the display working, just adding theme support and more fixes.
  3. http://universalragnarok.online/ use the account: username: test pass: test i didn't add the change pin feature there because someone might change the pin for the test accounts This is an outdated demo, it will get updated once 0.4 is released
  4. Currently, i am doing 0.4.0 to add a much better system. And i'm planning to add support for herc. The reason i didn't add herc support is because i havn't touched herc.
  5. Why not just use the floating ip as the server ip?
  6. Update on Restructure: Module System works fine . Now i'm adding it to the theme's design. And for the developers there, here's how it works. Modules are in the /modules folder. Then, there would be another folder. The method name, and inside it would contain the module name (folder) and the action would be an .ejs file inside the module name I recommend to add only .ejs files inside the "get" folder. Since the "get" folder is what's used when you're visiting a page. /modules | /get | /account | login.ejs All .js files inside the module names (folder) would be ran, instead of rendered. It must have a function named "exec", which takes in two parameters. "req" and "res". (parameters could be named anything) The .js files would just do what inside it's function. But will only be executed when you send a "post" or "get" or "patch" or any other HTTP/REST Methods. If a .js file is inside the "post" folder. It would only be executed when someone sends a post request to "/module/?" where "?" would be the .js file name. Here's how the new Structure Handles the modules. // Get the modules inside the modules folder Walk.walk(__dirname + '/modules') .on('directories', function(base, methods) { // Add a for of loop to access each method in the array. for (var method of methods) { // Now inside the method folder, let's access the Module directories Walk.walk(base + `/${method.name}`) .on('directories', function(base, directories) { // Finally, get the files inside the directory. for (var directory of directories) { Walk.walk(base + `/${directory.name}`) .on('files', function(base, files) { // Get the file datas inside the array for (var file of files) { // Let the route Handler handle the routes. Let's just put the data in an object. let RouteData = { file: file.name, directory: directory.name, method: method.name, mysql, baseDir: __dirname, WEB_CONFIG }; // Execute our RouteHandler RouteHandler.exec(app, dynamicStatic, RouteData); } }); } }); } }); And here's how i add the render the routes. module.exports = { exec: function(app, dynamicStatic, RouteData) { let route = `/${RouteData.directory}/${RouteData.file.split('.')[0]}`; let file = `${RouteData.baseDir}/modules/${RouteData.method}/${RouteData.directory}/${RouteData.file.split('.')[0]}`; if (RouteData.file.endsWith('ejs')) { app[RouteData.method](route, function(req, res) { req.WEB_CONFIG = RouteData.WEB_CONFIG res.render(file, { request: req, expressFlash: req.flash('success') }); }); } else if (RouteData.file.endsWith('js')) { let RouteData_File_JS = require(file); // Let's make sure it has a "exec" function if (!RouteData_File_JS.exec) throw new Error('One of your Javascript Files inside the "modules" folder is missing a function named "exec" ! Please add it to avoid any problems.'); RouteData_File_JS.exec(); }; } }; I'm still doing major changes to the code, like adding the removed properties. Once that's handled, i'll add the installer feature, and then add all the removed features and the old theme and finally, upload 0.4.0 I'm also deleting the old Github Repo, and will transfer it Here
  7. Sure! But it won't be available to the demo site unless i set up a mail server. Will be delayed, i'll add the basic features first. Email Verification and pin code. Which would be added in v0.3.1 while Reset pass would be in v0.3.2 which i would release as fast as i can. Currently, i'm cleaning up some files, especially the auth.js and signup.js . To make it look more cleaner. Almost releasing Pin code system. After that, i will add the Verification System and finally reset pass. Released v0.3.1 on Github. Waiting for verification from Content Moderators Currently doing a restructure on how the page system works. We will be using modules, so routes would be changed.
  8. Sure! Why not. I'm planning these for levels: 0: No Verification 1: Email Verification ( Once verified, no need to verify again ) 2: IP And Email Verification ( Same as 1. ) After all of those features are added, i'll add a Link Your Discord feature. Also, i will use fluxcp's cp_resetpass table so it would be also compatible with fluxcp. Almost done! Hopefully tomorrow i would release the reset password feature!
  9. Thanks for those suggestions. Will add that . I'm also planning to instead of email verification. What about a discord-like verification. Like, when your ip is not the same as your account, or not listed it would send an email instead for verification. I would add them but slowly. By that i mean i will not add them all at once. Progress:
  10. How does fluxcp insert the YYYY-MM-DD format in birthdate, cause when i do it, it is formatted to iso. Thanks. Edit: ( Making it much clearer ) Was wandering what does fluxcp do in order to save YYYY-MM-DD format to the birthdate column. Because when i did it, using nodejs. It formatted it to an ISO Date. Anyone knows why?
  11. You don't need to do those, just make sure that your ragnarok server and vps server is in the same ip/machine. Grab your ip by searching "What's my ip". And once you have it, just open ports for that ip. If you're on a VPS, use that ip. And open the ports for char, map and login server. By default those ports are 6900, 5121, 6121
  12. Nope, old ones are structured differently.
  13. Won't that give the ip of the player? And not the server's ip through packets?
  14. Okay thanks, will try. Will update you if it works. Also, btw so i could know if it would work. how would i get the ip that the server is connecting to? From Packets
  15. Would Cloudflare be enough? Or is it just for web? Also, we could also use Floating IPs from Digitalocean right?