• Announcements

    • jhxp

      Forums are online again after a maintenance.   18/03/17

      MTA Forums maintenance is completed, although some automatic time-heavy tasks are still in process and will be finished eventually in background. Expect some features such as Forum Search to not display all results until all processes are finished. Please let us know if you spot a forum feature that worked correctly before the maintenance but does not work anymore now. Thanks. --MTA Team
    • jhxp

      Multi Theft Auto: San Andreas 1.5.4 is out!   21/04/17

      Click the link in the announcement for more details.  


  • Content count

  • Joined

  • Last visited

Community Reputation

20 Decent


About Noki

  • Rank
  • Birthday 12/04/00


  • Location
  • Occupation

Recent Profile Visitors

861 profile views
  1. Bad idea. You're no better than them if you perform silly illegal attacks. Gather proof, report it to the MTA Team and they will most likely ban that person, given sufficient evidence.
  2. Looks absolutely awesome. I think the animations could be a little faster. It'd just make it seem a little more intuitive and more friendly.
  3. Backsage, if a server that has 'utopia' in its name doesn't satisfy you, what does?
  4. Top position. Word of mouth. YouTube (abuse the tag system to gain massive views). Launch from another community. The most important one in my books, is time coupled with consistency. Keep the server consistently up and for a long time. There will be times when the server has more players than usual, and there will be times when the server has less players than usual. But it's up to the owners and players to stick through with it for a while. People love things that are reliable and consistent, look at relationships or cars. No one wants an unstable partner or an unreliable car. Or you can just get really lucky. That always helps.
  5. There is never a "best' way to do things. Are you going for pure code speed, or readability? There are so many factors that impact the best course of action. No single solution fits all use cases. You're going to have a very hard time working with other people and coding in the real world if you have that perspective. No, you're not being poetic. If anything, you're being pathetic. Part of programming is having an open mind to new solutions and different ways of approaching a problem. You're not doing either of those.
  6. You could implement it yourself in a number of ways. 1. Git hook. Write your own module that restarts the resource (using a folder name) for each file in a Git commit (filter out files from the same resource etc). It would be a bit tedious and require some hacky fixes to work. But it would work well with source control and keep things relatively neat. 2. HTTP uploading. Every time you upload a file (through HTTP), it calls the PHP SDK which calls a resource in-game that restarts another resource (resolving it from a folder name, or something). This is a very disgusting (also insecure and flawed) method and if anyone does it, I would be appalled yet impressed. 3. Constant scanning. Creating an application that constantly scans the resources folder for changes (using hash sums, for example) and restarts a resource (using a module or something that attaches to the server) every time a file changes. Note this is a terrible idea and would be cumbersome on server resources. 4. Create some sort of devilsh Node.js contraption that would do this for you. I don't want to write anything else because I'm scared someone might actually do this. But my favourite way is to just restart them when needed, at developer discretion, like what @Bonsai said. Any of these ways could introduce bugs (restart looping, restarting wrong resources, using too many system resources, etc) which could potentially create more problems than taking the time to write "/restart totallynotabuggyresource" in the console.
  7. It took me a second to realise that they weren't your words, and you were quoting someone. Numerical incremental loops (for i = 1, 100 do, while i < 100 do) are generally speaking the fastest. For tables with numerical indexes larger than 100 items, pairs was faster than ipairs, but lower than 100 ipairs was faster. And when it comes to tables with non-perfect keys (strings, not sequential, etc) pairs is the only way to go. @John Smith, you can't really say it's X amount faster without providing context to that answer. How big was the table? Were you running any operations within the loop? As I said in the last paragraph, it all depends on what you're doing. It really comes down to what you're doing. In most other languages, there are arrays, which have numerical indexes and there are lists, which can have non-numerical indexes. Terminology differs between language, but you get what I mean. Each has a different use scenario. However, in Lua, we're given just a table, which can be seen both as a curse and as a blessing. We can use numerical indexes and treat tables like an array, or use non-numerical indexes and treat tables like a list, or we can do both! Personally, I don't usually iterate over tables with non-numerical indexes unless I have to. I prefer to use my tables (with non-numerical indexes) as a lookup, as opposed to something that needs to be iterated over. This guy has no idea what he's talking about. I mean, he says "medium scripter". What the hell is that supposed to mean? He's most likely just read some statistics on a StackOverflow answer and is going around parading his newfound knowledge. This isn't a black and white issue and really depends on what you want to achieve. Yes, incremental loops are faster in every way, but sometimes it can be cleaner to use ipairs/pairs (not having to access the original table's index to lookup, breaking on the first nil pair, etc). http://softwareengineering.stackexchange.com/questions/80084/is-premature-optimization-really-the-root-of-all-evil
  8. Those functions are baked into MTA and aren't contained within any resource. To disable it, you need to edit your acl.xml. Simply go to where it says '<acl name="Default">' and add the following underneath: <right name="command.login" access="false"></right> <right name="command.register" access="false"></right>
  9. It's been a thing since August. I don't see it getting taken down anytime soon. The reason FiveM got taken down was because it used GTA:O code (the sync). GTA Network uses their own sync.
  10. That's a terrible security measure and I strongly advise that you don't do that. I recommend setting up ACL permissions for each individual resource that requires them. Kinda off-topic but a strong disclaimer for anyone using these resources. It's not my fault, or the fault of these resources, if your server is insecure.
  11. Over the past year a lot of people have been migrating from TeamSpeak, Skype and IRC to Discord, myself included. Some great features are that you don't need to host it yourself, setup is very quick, easy and painless and there is support for both voice and text transmission.
  12. Yes @RyuMaster. You need to give UCDaccounts permission to use function.addAccount. I should put that on the setup instructions.
  13. script security

    I do recall hearing from someone on MTA's IRC server that MTA uses element data for things like position, entering a car etc. But I don't think you're able to set those values through setElementData, for obvious reasons. So to answer your question, yes. Well, as far as I'm concerned anyway. You'll need to look at the source code or ask a developer for absolute confirmation.
  14. script security

    The best way to secure your server from "rogue clients" is to not use element data at all. Or at least don't allow it to be set client-side. But you would be safer not using element data at all. As stated in that wiki page, "don't trust anything from the client". Write your scripts as if you're trying to break them (ie putting strings in where integers are supposed to be, use newlines in input, don't submit any input, spam buttons and commands, etc). Validate every piece of data extensively. You're right, I don't think there's a way to fully test that as it seems to be faking events. So unless you injected some code into the client (which is a job in itself nowadays) you can't really test it. But if you did manage to inject into MTA, you would probably be finding more important security flaws.
  15. I'm not fully convinced your copy of UCDlogging is entirely original. Please clone the repo again and try again. https://github.com/nokizorque/ucd