Lua Viruses are scripts that perform negative actions on your place that you did not intend to have done.
How do I get a virus?Edit
Almost all viruses come from Free Models. Why? Because the people who make the viruses can get away with the malicious actions easily. Free Models don't display the name's of their creators. Viruses can also come from Free Models that you cannot find in the Build or ROBLOX studio applications, so they are in models that are selling.
Can it break my place?Edit
Your place will most likely break, depending on the functionality of the virus itself. There are viruses that will rename objects in your game to things like "Infected" or "ROFL". The renaming can break legitimate scripts. Almost all viruses copy themselves to every object in your place, and this causes the file size of your game to inflate very quickly. When viral scripts copy themselves, this makes many scripts run at once. This slows down your game and can typically prevent your place from even loading for your players. Some viruses are mostly harmless except for the fact that they may be used to insert other content into your place.
However, there are also viruses that are put in many models that insert the Explorer feature into your game. However, the explorer feature does not go to the place's creator, but instead the people who made the virus. This effectively gives the people who made the virus the ability to do anything to your place, even copy it, if one of the virus creators happen to visit your place.
Why can't I see it in the Explorer Window?Edit
Viruses are put inside objects that are not shown in the Explorer Window. These are known as "Hidden Classes". Common viruses will use hidden game services such as Timers or Geometrys. Others may use joint objects like Welds, Glues, RotatePs or RotateVs.
How can I disinfect my place?Edit
Save a copy before disinfecting your place, as you do not want to accidentally remove legitimate scripts from your place. Some antiviruses can catch words in safe scripts that will make them think they are viruses.
What are the different anti virus scripts available?Edit
There have been many scripts made to combat viruses
- Trend Micro Antivirus (by Bannana97; no longer supported; named after the Trend Micro Antivirus itself)
- Tazer (by Ozzypig, GUI-based but no longer supported)
- Virus Slayer Script made by MitchellJBridges101, takes viruses, and moves them into the Lighting folder into a model named Quarantine.
- Naknak's Server Shield (by naknak, has many more features besides an anti ban; once active it is nearly impossible to remove because of a virus)
- ViCure Anti-Virus 360 made by Kog12. Lesser-known but still does a great job of finding and quarantining viruses.
- Place Cleaner made by moochoo8. Lesser-known but still quarantines any virus into Debris. Continuously updating.
Many antiviruses do not work anymore due to the fact the Source property of Scripts was locked to Scripts for reading themselves. Antiviruses would read the source of the scripts and check if they do bad things, such as copy themselves or make undesirable effects. This action of locking the Source property was highly undesirable for all scripters, as almost exactly a year ago the Source property was locked for writing (could not be changed or edited). however, the virus makers are getting more advanced, as there is now a virus that disables any other scripts as soon as the game starts. another example of advanced viruses can be shown through Roblox player thesuperbob: "I went on my game and saw that the hints weren't showing up like normal. I quickly deleted the models I got from free models. No effect. I later assumed that the viruses weren't in any visible item. I then got helped by a scripter (who wants to remain unnamed) who helped me find out that the viruses had gone into 'nil' as soon as they were inserted! I solved the problem by copying everything into an empty game place and replacing it with that."
A more dangerous way to disinfect your placeEdit
You must have a basic understanding of the XML language (it's what ROBLOX saves its places as, and it's not very difficult to get the hang of). Then open your place file with a simple text editor like Wordpad or Notepad. (Preferable Notepad++ if you have it.) Do a search (Ctrl+F) for a word mentioned in the virus. Normally the first result will be the actual code of the script. Find the opening object tag for the script, and delete it down to the closing tag, making sure you leave nothing unclosed. Do that for as many viruses as you have, save, then open that file with Roblox Studio. All done!
How can I prevent my place from getting infected?Edit
Many builders and scripters have answered this question with a simple "Don't use Free Models!". This is the only way to protect your place 100% from getting infected with a Roblox Lua Virus. All viruses come from and transfer themselves through Free Models. There are other ways to still use Free Models and not be infected with a virus.
Since scripts do not run when the game is paused, pause your game right before you insert the model. If you have an antivirus, it will still run if it was inserted before you paused the game. Scripts added when the game is paused will not run, so you can check yourself and with an antivirus before un-pausing the game.
I know a different programming language (C#, C++, Python, Java, etc). Is it possible to make an antivirus for ROBLOX places?Edit
It is completely possible. ROBLOX places are saved using XML, so if your language can open files for reading and writing and parse the XML you can make one. It would also be safer to scan places using these as the viruses themselves would not run and you can examine the Source of the viral scripts for malicious code. The basic functionality of your programming language would have to be:
- File Input/Output for reading the .RBXM and .RBXL files.
- XML Parsing to read the .RBXM and .RBXL files.
- Advanced iterations to check all objects in the file.
Distributing an outside antivirus on the ROBLOX Website would be against ROBLOX's Terms and Conditions as this would force the person to use outside links.