Inactive [SEC] AntiXRay v0.6.10 - protecting ore from XRay mod and transparent texturepacks [1000]

Discussion in 'Inactive/Unsupported Plugins' started by asdaarg, Apr 11, 2011.

  1. Offline

    asdaarg

    AntiXRay
    Version:v0.6.10

    Reporting Errors the follow things have to be mentioned:
    • CB Version and AXR version
    • Whether you started the AXR version with a fresh ore file or not (doing /axr off before upgrade)
    • If not, since what version you've been using the same ore file.
    • If you get any errors in console, check the debug.log for "Error"s and "Warning"s. and post those.

    Upcoming features for 0.7:
    - AXR Chest chest hiding feature developed by MrSelfDestrukt
    - New advanced visibility test (almost done, only need to test it now and decide whether its going to replace or be an alternative to the original light based test) Details here and here



    Description:

    AntiXRay hides ores from players by turning them into stone until they have been exposed, thus making it impossible for any client side hacks to detect them, as their location is not sent to the client.

    Backup your world(s) I cannot guarantee that ore doesn't disappear from them due to this plugin. Even if you did not backup, there is a foolproof solution here. If you decide to uninstall, type /axr off, and not delete the ore data file before your ore is restored unless your intention is to strip your worlds from ore.



    Downloads:
    If you upgrade from 0.5.21 it is recommended that you do /axr off first flush out errors from the ore file. If you do not have enough RAM, you can do this in steps using 0.6.9 but you need to set lenient=true in the config file to allow the file to be loaded
    NSCommand <-- Required
    AntiXRay
    Source and old versions

    Features:
    - Specify what ores to hide(works with non ore blocks too as long as they don't use data values or extra data such as chests and signs (use some chest locking plugin for keeping your chests from xrayers)
    - Multi world support
    - Permissions support
    - Stores ore data in binary files (one per world) and only keeps data about loaded chunks in physical memory. It is on average 400 bytes per chunk in and guesstimatedly around 450 in physical memory, so it is reasonably small, but some people might play on huge worlds and want to conserve memory.
    - Saves data about chunks immediately on any changes (they are assumed to be by far sufficciently rare that any performance is won by buffering is neglible. As such it also prevents potential ore duplication on server crashes)
    - chunk and world statistics
    - ingame map of loaded chunks
    - background processes that does not freeze the server
    - dump ore statistics into file and compare them to see the changes in ore content.
    - lots of configuration options

    Ores will become visible under any of these circumstances:
    - A surrounding block is lit by torch and player is within the chunk or adjacent chunk and within 16 blocks to player on Y axis.
    - A surrounding block is lit by a third block broken falling or removed by explosion and player is within the chunk or adjacent chunk and within 16 blocks to player on Y axis (occurs once every 2 seconds, but configurable).
    - A surrounding block is broken or falls or removed by explosion
    - A surrounding block is changed by another plugin (can be cpu intensive if you worldedit a big area for instance - might do a workaround for this)

    Current Limitations:
    - Ores at light level above pitch black on chunk generation will not be hidden e.g. near lava or surface cave entrances.
    - Ores will not be found exploring caves in pitch black (who does that anyway?) These two limitations was to allow a light based visibility test that relies on a test already built into the server, thus avoiding extra performance overhead as well as headache of coding it myself. Despite these limitations, AntiXRay should make it far beyond pointless to search for ores using XRay or transparent textures.
    - Gravel and sand dropping on chunk generation may expose ore. This is assumed to be rare enough to have neglible effect.
    - The data file will not repack itself. The ratio between generated ore and mined ore is assumed to be very high, and the file size is considerably small but nonetheless, should you want to "repack" it, just turn axr off and on and the new file will be smaller excluding the gaps between chunk entries. But again, do some basic math and count the amount of ore blocks mined in total, multiply that by 2 bytes. After a month of mining 10000 ore blocks, you shaved 20k off that 3M file.
    - If you place a torch there is a tiny delay as seen in the video due to client side prediction and lag between the time the info of the ore to get back to the client from the server. This can seem unnatural so I might make a better vision test later that doesn't rely on light. However it would be more expensive in terms of cpu cycles.
    - If you have a slow server or a lot of players, you might want to remove coal from the config list. It speeds it up at least 200%. There are some optimizations I can do that I might add later that will speed up things further.

    Commands:

    /axr on - hides all unlit ore
    /axr off - reveals all hidden ore (and deletes the data file!)
    /axr on <world> - hides all unlit ore in specified world
    /axr off <world> - restores ore in specified world
    /axr worlds - world statistics
    /axr chunk - chunk statistics at chunk player is on
    /axr chunk <x> <z> - chunk statistics at specified chunk
    /axr map -shows map of loaded chunks in current world
    /axr map <world> -shows map of loaded chunks in specific world
    /axr map <zoom>
    /axr map <world> <zoom>
    /axr map <x> <z>
    /axr map <world> <x> <z>
    /axr map <zoom> <x> <z>
    /axr map <world> <zoom> <x> <z>
    /axr show
    /axr show <world>
    /axr hide
    /axr hide <world>
    /axr dump <world> <file>
    /axr diff <filein1> <filein2> <fileout>
    /axr gen <world> <x1> <z1> <x2> <z2> command for generating a rectangular area of chunks
    /axr gen copy <world1> <world2> command for generating all the chunks in world2 that are registered in world1
    /axr pack <world> - removes dead space in ore file (not that there is much from just mining but the axr chest will create significant amount of dead space.
    Auto-backup, that will backup your ore file on startup
    /axr backup <world> - backs up the ore file of the world if and only if the file passes the corruption test
    /axr test <world> - test the ore file and memory for errors for a specific world
    /axr test - test the ore file and memory for errors for all worlds
    /axr mirrorworld <world1> <world2> - creates a world world2 with the same seed as world1.
    These functions are not recommended for use unless you know what you're doing: (they can be destructive of tile entites)
    /axr chunk regen - regenerate chunk (to as it was when world was initially generated)
    /axr chunk regen <x> <z> - same but for specified chunk
    /axr chunk regen <x1> <z1> <x2> <z2> - same but for axis aligned rectangular area
    /axr chunk regen ore - only regenerate ores in chunk at player position
    /axr chunk regen ore <x> <z> - same but for specified chunk
    /axr chunk regen ore <x1> <z1> <x2> <z2> - same but for axis aligned rectangular area

    Note about regeneration: ores, trees, flowers and mushrooms are random each time and not tied to world seed (bukkit/mc issue)

    permissions:

    antixray.axr.on
    antixray.axr.off
    antixray.axr.worlds
    antixray.axr.chunk
    antixray.axr.chunk.regen
    antixray.axr.chunk.regen.ore
    antixray.axr.map
    antixray.axr.show
    antixray.axr.hide
    antixray.axr.dump
    antixray.axr.diff
    antixray.axr.gen
    antixray.axr.gen.copy
    antixray.axr.test
    antixray.axr.pack
    antixray.axr.backup
    antixray.axr.mirrorworld
    config.txt:

    timerms - the time between light check by broken third block in milliseconds.
    maxdep - buffer size for number of ores that can occur in a chunk - don't change unless you have another plugin that adds tons of ore.
    maxheight - is the number of Y-levels in your map.
    ChunkFileBuffer - sets how much is buffered for new chunks to be stored until the index is rewritten (at the end of the file.)
    Materials - what ores you want to hide. (has to have same number of elements as maxys)
    maxys - the first Y level from bottom they cannot occur at. (has to have same number of elements as Materials)
    worlds - what worlds are loaded at startup (comma separated)
    autostart=all (normal) worlds are loaded at startup (unless CFGworlds is set)
    nounload = keeps all ore data in physical memory
    debug - turning on writes to a debug file keeping track of important info that may be needed to solve bugs or figure out why lag occurs
    fileindexdebug - turning on debug file needed as a quick check of the consistency of your ore file
    mapcol - the chatcode colour of each type of block in ascending order, shown in /axr map
    mapwidth - the width of the map shown in /axr map
    mapheight - the height of the map shown in /axr map
    schedulerload - 0-100 percentage of time going to execute any background process.
    schedulerstatustimer - time in millisecs between each status report of a background process
    filterorenotinstone - filters ore upon exposition that is not in stone (can be used to restore ore from a backupped ore file or ore file generated from a fresh world with same seed)
    autorepack - pack ore files automatically at startup - on by default
    autobackup - backup ore files automatically at startup(requires autorepack) - on by default
    maxfaces - specify max amount of exposed faces per chunk before error occurs
    lenient - ignore lindex errors when loading file (useful if you have them from before and want to filter them out)
    All CMD_... options are for redefining the commands so you can type something else.


    changelog:
    v0.6.10
    • Fixed Array index out of bounds in listindex accessing materials that has not been loaded yet.
    v0.6.9
    • Added /axr mirrorworld <world> <mirrorworld> command
    v0.6.8
    • Fixed NPE when trying to expose ores in world hole.
    v0.6.7
    • checking whether wrong file exist during repack.
    v0.6.5
    v0.6.6
    • fixed NPEs in some commands that can occur if you use it and the world is off.
    v0.6.5
    • fixed open file pointers during repack.
    v0.6.4
    • fixed NPE during repack when load fails.
    v0.6.3
    • fixed NPE when running test on all worlds and not all worlds are on
    • added various memory checks and chunk data entry overwrite checks
    v0.6.2
    • fixed NPE when trying to flush the debug file when debug file is turned off.
    v0.6.1
    • added lenient config option to ignore lindex errors when loading file (useful if you have them from before and want to filter them out)
    • added more information on error when loading from file
    • added config option maxfaces to specify max amount of exposed faces per chunk before error occurs
    v0.6
    • /axr off now gradually unregisters chunks - as a workaround to what appears to be a problem with chunks not getting fully removed from memory despite trying both unloadchunk calls through bukkit. This allows one to shut down the server and continue restoration after a restart if one does not have enough RAM
    • /axr pack <world> - removes dead space in ore file (not that there is much from just mining but the axr chest will create significant amount of dead space.
    • /axr backup <world> - backs up the ore file of the world if and only if the file passes the corruption test, also packs the new file.
    • /axr test <world> - test the ore file and memory for errors for a specific world
    • /axr test - test the ore file and memory for errors for all worlds
    • autorepack config option - pack ore files automatically at startup (if and only if the file passes the corruption test) - on by default
    • autobackup config option - backup ore files automatically at startup(if and only if the file passes the corruption test, and also requires autorepack) - on by default
    • new .ore extension for ore files (rename your old files)
    • removed glowing redstone ore from default ore list (never occurs naturally anyway)
    • fixed faulty scanning issue
    • fixed hopefully last exposed ore face index error
    • fixed false positive in memory check
    • debug.log flushed when error occurs (it is otherwise flushed once in a period of time)
    • more details in debug log when error occurs
    • removed lindex spam in debug log until lindex error occurs
    v0.5.21
    • Fixed /axr gen not triggering scan anymore
    • Fixed /axr gen not unloading chunks
    • Fixed (workaround) huge memory leak during /axr off /axr show /axr hide and /axr gen caused by bukkit's unloadchunk function
    v0.5.20
    • Additional file corruption checks that will make noise as soon as something goes wrong
    v0.5.19
    • Fixed another potential index derangement bug.
    v0.5.18
    • Fixed array out of bounds exception during previous fix
    v0.5.17
    • Fixed a couple of bugs offsetting exposed ore face indicies when mining adjacent block potentially causing array out of bounds exceptions at a later stage and the revealing of wrong ores when exposed to light.
    • Added debug logging of exposed ore face indices when found, as well as fault intolerant check that will warn you about any corruption of the indices after the event.
    v0.5.16
    • fixed half of ore not being hidden when a chunk is generated on load.
    • removed various unnecessary details to be logged in debug.log
    v0.5.15
    • fixed bug restoring ore, hiding and showing in wrong world
    • revert hack to set block material of a chunk to physical updates due to lacking javadocs to figure out what function to call
    v0.5.14
    • Switched to non physics updating block material setting hack
    • Updated to #733
    v0.5.13
    • Added detailed debug logging of background processes.
    • removed logging of filepointer
    v0.5.12
    • fixed failed scan after /axr gen unloading chunks that were originally not loaded, consequently also /axr gen causing server to freeze and timeouts on clients.
    v0.5.11
    • fixed /axr gen not unloading chunks that were originally not loaded
    v0.5.10
    • /axr gen and /axr gen copy now actually usable
    v0.5.9
    • ore in stone filter now also applies to /axr off and /axr show (not just when it is found by light detection)
    v0.5.8
    • added /axr gen command for generating a rectangular area of chunks
    • added /axr gen copy command for generating all chunks that are registered in another world
    v0.5.7
    • Configuration option CFGfilterorenotinstone implemented, that allows filtering of ores not in stone (can be useful in recovering lost ore from a world with the same seed)
    v0.5.6
    • fixed ore regen not working when axr is off in that world
    • removed physics lock spam
    v0.5.5
    • fixed more concurrency errors during background processes (hopefully for the last time)
    v0.5.3
    • fixed more concurrency errors during background processes
    v0.5.2
    • fixed concurrency errors during background processes
    v0.5.1
    • fixed debug off in config file causing unable to start (again! although different place now)
    v0.5
    • ore stats dump - listing all chunks ore counts into a text file
    • ore stats diff - showing difference between two ore stats dump files (these two tools are useful if you are worried that your ores might disappear)
    • show command - reveals the ore but does not unregister them or delete the file
    • hide command - hides again ore that was revealed with show.
    • show, hide and ore stat dump are background processes that does not freeze the server.
    • axr off is now a background process
    • load percentage of background processes can be configured
    • specify map zoom and center
    v0.4.1
    • Fixed file index debug listing not showing
    • file index debug listing can be turned off in config.txt (fileindexdebug)
    • area regeneration functions now tolerate any two coorner in rectangle in any order.
    • fixed debug off in config file causing unable to start
    v0.4
    • added axr map command for showing map of loaded chunks
    • fixed light expose unmapped material (probably why you got grass/smooth stones)
    • fixed light expose restored block being block at exposed face
    • fixed light expose no chunk location offset (why you got it at spawn)
    • fixed exposed face location wrong axis (probably floating blocks)
    • removed unnecessary cacheing of chunks at startup by not using chunks as keys for file index(probably solve memory problems for large worlds)
    • bypassing unnecessary cacheing of blocks using minecraft hackery.
    • revised scan algorithm, bypassing bukkit wrapcode resulting in at 5-10 times faster scanning.
    • fixed queries on unloaded sidechunks during scan resulting in loading and even generation of chunks that on top of it due to eventlock get ignored by onChunkLoad, thus leaving chunks of unhidden ore.
    • fixed light expose filling 0s after removed index
    • probably more bug fixes, can't remember them all
    v0.3.3
    • world statistics: type axr world - shows also what worlds are on/off
    • chunk statistics when axr is off no longer causes world to be registered without any chunks being loaded
    • axr on doesn't show NaN when there is nothing to hide
    • proper colouring
    • empty chunks are no longer ignored.
    v0.3.2
    • Fixed potential ore type shift bug
    • Moved listindex before file is loaded so debug info can be displayed even if it crashes while loading.
    • added rectangular area regen functions
    v0.3.1
    • Fixed silly nullpointer exceptions
    v0.3
    • Specify what worlds to turn on and off
    • Specify what worlds to load at startup
    • option to keep all ore data in memory
    • chunk statistics (useful for checking that your ore doesn't disappear or duplicate)
    • chunk regenertaion (restore a chunk to state at world generation)
    • chunk ore regenertaion (restore only ore)
    v0.2.5
    • Fixed some other bugs related to exposed-face-to-ore index
    • Index debug file working again (it was still expecting 0.1.5 files)
    • Added potential ore file corruption warnings to debug file output
    v0.2.4
    • Fixed bug locating exposed-face-to-ore index elements having no array bounds check.
    v0.2.3
    • Fixed bug exposed-face-to-ore index elements not being removed
    v0.2.2
    • Fixed bug exposed-face-to-ore index not being updated when ores are recovered and removed from hidden ore list (new bug in 0.2)
    • Fixed bug at y levels above 128-16 looking for ores above the map
    v0.2.1
    • Uses NSCommand now (it did right from the start but its now a separate plugin)
    • auto-creation of config files
    • defaults to ops only when permissions is not present
    v0.2
    • Light detection optimization based on a separate list of faces exposed to nonsolid materials (this might not work with all materials yet such as stairs and singlesteps, but its not like the world generator puts them in the caves anyway) resulting in at least 10 times faster execution of light checks. This should reduce all lag that's not due to scanning new chunks for ore.
    • Once again more detailed debug log
    v0.1.5
    • Fixed bug in ore restoring function causing large veins of ore to be generated out of nothing
    • More detailed debug log
    v0.1.4
    • Removed file corruption check that's hogging up some cpu cycles during file load and write events (the latter occured during scan event) - so this should speed up scan events.
    • pseudo error "load error 1" moved to debug log.
    • Added 1 tick delay of scan in onload event since it appears bukkit fires it before the chunk is populated with ore. This fixed the bug of ore appearing if you teleport or walk far away from initially scanned chunks.
    • removed physics event logging since it appears to always be neglible.
    • Added message at startup informing you about the waiting time of scanning all loaded chunks may take a while.
    v0.1.3
    • Fixed bug starting server without plugin data folder causing it unable to write debug file
    • Added more debug file details (when its scanning, loading from file, or just loading from memory when neither is shown)
    • Those who who don't hide coal, should experience faster chunk scanning now
    v0.1.2
    • Fixed bug due to player location being null for some weird reason
    • Added debug logging of time spent on the main time consuming procedures.
    v0.1.1
    • Fixed config file not loading properly
    • Removed wtfexception spam
    v0.1
    • Initial Release
    Donate (Not necessary but appreciated)
     
  2. Offline

    asdaarg

    Can you upload it?
     
  3. Offline

    meandus

    yea, ofc wait a sec
    or easier, do you have skype?

    the forum sais the file is too big,
    so here is an exaple


    room for:34503 chunks found...34503 chunks:
    chunk entry:0@8140027 (-8,-8)@4371091[8,55,0,7,26,0,]
    chunk entry:1@8140039 (1249,1249)@720439[10,61,2,6,36,0,]
    chunk entry:2@8140051 (1242,1242)@716111[14,87,5,10,59,0,]
    chunk entry:3@8140063 (1248,1248)@704869[0,62,6,13,47,0,]
    chunk entry:4@8140075 (1243,1243)@701599[18,128,8,0,41,0,]
    chunk entry:5@8140087 (3,3)@84435[0,0,0,0,0,0,]
    chunk entry:6@8140099 (2,2)@87039[0,0,0,0,0,0,]
    chunk entry:7@8140111 (1,1)@89453[0,0,0,0,0,0,]
    chunk entry:8@8140123 (10,10)@90893[0,0,0,0,0,0,]
    chunk entry:9@8140135 (11,11)@95800[0,0,0,0,0,0,]
    chunk entry:10@8140147 (-6,-6)@4113631[2,70,2,2,27,0,]
    chunk entry:11@8140159 (16,16)@882618[0,0,0,0,0,0,]
    chunk entry:12@8140171 (20,20)@900037[8,97,4,0,19,0,]
    chunk entry:13@8140183 (15,15)@898496[0,0,0,0,0,0,]
    chunk entry:14@8140195 (19,19)@894506[0,0,0,0,0,0,]
    chunk entry:15@8140207 (18,18)@890186[0,0,0,0,0,0,]
    chunk entry:16@8140219 (17,17)@885846[0,0,0,0,0,0,]
    chunk entry:17@8140231 (1247,1247)@691523[10,84,4,2,34,0,]
    chunk entry:18@8140243 (26,26)@951872[17,65,7,8,35,0,]
    chunk entry:19@8140255 (25,25)@943834[4,80,9,0,29,0,]
    chunk entry:20@8140267 (24,24)@935334[4,138,3,6,30,0,]
    chunk entry:21@8140279 (23,23)@925237[14,93,0,5,36,0,]
    chunk entry:22@8140291 (32,32)@1009306[15,59,11,8,30,0,]
    chunk entry:23@8140303 (31,31)@1001258[9,65,0,3,35,0,]
    chunk entry:24@8140315 (0,0)@81984[6,50,4,4,8,0,]
    chunk entry:25@8140327 (27,27)@959776[0,140,0,5,34,0,]
    chunk entry:26@8140339 (28,28)@967720[6,100,4,4,29,0,]
    chunk entry:27@8140351 (29,29)@976080[23,89,2,2,33,0,]
    chunk entry:28@8140363 (14,14)@978700[0,0,0,0,0,0,]
    chunk entry:29@8140375 (30,30)@987478[3,113,4,11,6,0,]
    chunk entry:30@8140387 (-3,-3)@1211261[15,64,3,8,23,0,]
    chunk entry:31@8140399 (-2,-2)@1206649[4,62,2,0,8,0,]
    chunk entry:32@8140411 (-1,-1)@1203383[0,0,0,0,0,0,]
    chunk entry:33@8140423 (1251,1251)@760667[5,64,0,5,36,0,]
    chunk entry:34@8140435 (1240,1240)@753761[35,123,6,4,32,0,]
    chunk entry:35@8140447 (1250,1250)@739289[10,99,2,6,33,0,]
    chunk entry:36@8140459 (1241,1241)@733499[0,85,6,0,40,0,]
    chunk entry:37@8140471 (9,9)@33417[0,0,0,0,0,0,]
    chunk entry:38@8140483 (8,8)@32715[0,0,0,0,0,0,]
    chunk entry:39@8140495 (4,4)@20149[0,0,0,0,0,0,]
    chunk entry:40@8140507 (5,5)@25529[0,0,0,0,0,0,]
    chunk entry:41@8140519 (6,6)@31311[0,0,0,0,0,0,]
    chunk entry:42@8140531 (7,7)@32013[0,0,0,0,0,0,]
    chunk entry:43@8140543 (12,12)@98541[0,0,0,0,0,0,]
    chunk entry:44@8140555 (1245,1245)@680701[2,77,11,0,37,0,]
    chunk entry:45@8140567 (-5,-5)@4119113[6,82,8,2,35,0,]
    chunk entry:46@8140579 (-7,-7)@4122812[7,62,2,9,12,0,]
    chunk entry:47@8140591 (-9,-9)@4369753[8,32,0,5,27,0,]
    chunk entry:48@8140603 (13,13)@989251[0,0,0,0,0,0,]
    chunk entry:49@8140615 (21,21)@908085[14,90,0,10,35,0,]
    chunk entry:50@8140627 (22,22)@917053[0,80,2,10,7,0,]
    chunk entry:51@8140639 (33,33)@1017201[3,86,2,3,48,0,]
    chunk entry:52@8140651 (1239,1239)@776377[0,99,2,4,45,0,]
    chunk entry:53@8140663 (1252,1252)@785069[8,91,0,2,28,0,]
    chunk entry:54@8140675 (1238,1238)@804401[0,71,8,5,20,0,]
    chunk entry:55@8140687 (-4,-4)@1215247[5,60,0,0,23,0,]
    chunk entry:56@8140699 (1244,1244)@689575[3,90,5,0,36,0,]
    chunk entry:57@8140711 (1246,1246)@681265[4,88,4,4,46,0,]
    chunk entry:58@8140723 (-10,-10)@4749559[10,58,2,0,18,0,]
    chunk entry:59@8140735 (-12,-12)@4789240[8,39,0,8,18,0,]
    chunk entry:60@8140747 (-11,-11)@4794946[4,64,6,0,18,0,]
    chunk entry:61@8140759 (-13,-13)@4798929[14,73,2,2,27,0,]
    chunk entry:62@8140771 (-14,-14)@5482484[8,46,0,1,29,0,]
    chunk entry:63@8140783 (-15,-15)@5484927[0,61,3,1,21,0,]
    chunk entry:64@8140795 (-20,-20)@6009309[5,71,2,3,24,0,]
    chunk entry:65@8140807 (-19,-19)@6011065[3,51,7,0,4,0,]
    chunk entry:66@8140819 (-18,-18)@6012355[3,42,4,7,18,0,]
    chunk entry:67@8140831 (-17,-17)@6013671[12,52,0,0,36,0,]
    chunk entry:68@8140843 (-16,-16)@6014953[3,31,2,2,23,0,]
    chunk entry:69@8140855 (25,24)@935765[3,83,0,8,46,0,]
    chunk entry:70@8140867 (24,25)@943505[1,77,0,5,32,0,]
    chunk entry:71@8140879 (27,26)@952199[5,116,7,0,40,0,]
    chunk entry:72@8140891 (26,27)@959335[4,99,9,0,26,0,]
    chunk entry:73@8140903 (-6,-5)@4113900[12,50,1,0,15,0,]
    chunk entry:74@8140915 (-5,-6)@4118852[12,74,2,4,22,0,]
    chunk entry:75@8140927 (-7,-8)@4122517[9,49,4,7,47,0,]
    chunk entry:76@8140939 (-9,-10)@4369468[6,55,2,7,26,0,]
    chunk entry:77@8140951 (-8,-7)@4371310[5,83,4,3,12,0,]
    chunk entry:78@8140963 (1244,1245)@680448[6,62,0,6,39,0,]
    chunk entry:79@8140975 (1246,1247)@681584[11,84,6,4,24,0,]
    chunk entry:80@8140987 (1245,1244)@689870[8,67,8,0,33,0,]
    chunk entry:81@8140999 (1247,1246)@691158[23,93,0,0,53,0,]
    chunk entry:82@8141011 (1242,1243)@701306[1,92,4,6,30,0,]
    chunk entry:83@8141023 (1248,1249)@705194[1,110,6,0,23,0,]
    chunk entry:84@8141035 (1243,1242)@716488[6,80,6,2,18,0,]
    chunk entry:85@8141047 (1249,1248)@720134[15,78,4,4,38,0,]
    chunk entry:86@8141059 (1240,1241)@733118[15,94,4,0,64,0,]
    chunk entry:87@8141071 (1250,1251)@739616[4,99,0,1,33,0,]
    chunk entry:88@8141083 (1241,1240)@754188[6,103,2,4,39,0,]
    chunk entry:89@8141095 (1251,1250)@760336[4,100,0,6,42,0,]
    chunk entry:90@8141107 (1238,1239)@776104[7,88,4,4,20,0,]
    chunk entry:91@8141119 (1252,1253)@785378[14,82,0,2,28,0,]
    chunk entry:92@8141131 (1239,1238)@804654[8,116,8,1,30,0,]
    chunk entry:93@8141143 (17,16)@882645[0,0,0,0,0,0,]
    chunk entry:94@8141155 (16,17)@885819[0,0,0,0,0,0,]
    chunk entry:95@8141167 (19,18)@890213[0,0,0,0,0,0,]
    chunk entry:96@8141179 (18,19)@894479[0,0,0,0,0,0,]
    chunk entry:97@8141191 (22,23)@924834[7,124,10,0,38,0,]
    chunk entry:98@8141203 (23,22)@917374[11,109,3,6,38,0,]
    chunk entry:99@8141215 (20,21)@907768[9,59,0,4,34,0,]
    chunk entry:100@8141227 (21,20)@900338[7,85,3,1,22,0,]
    chunk entry:101@8141239 (15,14)@898469[0,0,0,0,0,0,]
    chunk entry:102@8141251 (2,3)@87066[0,0,0,0,0,0,]
    chunk entry:103@8141263 (32,33)@1016976[10,66,0,8,9,0,]
    chunk entry:104@8141275 (33,32)@1009936[6,58,6,0,26,0,]
    chunk entry:105@8141287 (30,31)@1000915[13,78,4,4,41,0,]
    chunk entry:106@8141299 (12,13)@991957[0,0,0,0,0,0,]
    chunk entry:107@8141311 (31,30)@987839[6,94,8,2,29,0,]
    chunk entry:108@8141323 (14,15)@978727[0,0,0,0,0,0,]
    chunk entry:109@8141335 (28,29)@975675[8,102,6,9,43,0,]
    chunk entry:110@8141347 (-15,-16)@6016122[8,76,3,6,20,0,]
    chunk entry:111@8141359 (-17,-18)@6013460[2,53,5,2,9,0,]
    chunk entry:112@8141371 (-18,-17)@6012554[6,29,2,0,30,0,]
    chunk entry:113@8141383 (-19,-20)@6010764[13,66,0,4,21,0,]
    chunk entry:114@8141395 (-20,-19)@6009612[2,57,2,4,18,0,]
    chunk entry:115@8141407 (-16,-15)@5484567[0,30,0,8,27,0,]
    chunk entry:116@8141419 (-13,-14)@5482763[17,41,1,0,33,0,]
    chunk entry:117@8141431 (-14,-13)@4804844[17,37,0,2,7,0,]
    chunk entry:118@8141443 (-11,-12)@4794699[5,80,0,7,12,0,]
    chunk entry:119@8141455 (-12,-11)@4789437[0,44,0,2,16,0,]
    chunk entry:120@8141467 (-10,-9)@4749810[2,60,0,2,25,0,]
    chunk entry:121@8141479 (3,2)@84408[0,0,0,0,0,0,]
    chunk entry:122@8141491 (8,9)@33390[0,0,0,0,0,0,]
    chunk entry:123@8141503 (9,8)@32742[0,0,0,0,0,0,]
    chunk entry:124@8141515 (5,4)@20176[0,0,0,0,0,0,]
    chunk entry:125@8141527 (4,5)@25502[0,0,0,0,0,0,]
    chunk entry:126@8141539 (7,6)@31338[0,0,0,0,0,0,]
    chunk entry:127@8141551 (6,7)@31986[0,0,0,0,0,0,]
    chunk entry:128@8141563 (13,12)@98568[0,0,0,0,0,0,]
    chunk entry:129@8141575 (10,11)@95773[0,0,0,0,0,0,]
    chunk entry:130@8141587 (0,1)@93571[0,0,0,0,0,0,]
    chunk entry:131@8141599 (11,10)@90920[0,0,0,0,0,0,]
    chunk entry:132@8141611 (1,0)@89426[0,0,0,0,0,0,]
    chunk entry:133@8141623 (-1,-2)@1203356[0,0,0,0,0,0,]
    chunk entry:134@8141635 (-2,-1)@1206840[0,68,0,1,19,0,]
    chunk entry:135@8141647 (-3,-4)@1211014[1,59,5,0,27,0,]
    chunk entry:136@8141659 (-4,-3)@1215534[0,51,7,2,16,0,]
    chunk entry:137@8141671 (29,28)@968075[2,74,0,14,48,0,]
    chunk entry:138@8141683 (9,11)@95746[0,0,0,0,0,0,]
    chunk entry:139@8141695 (0,2)@93598[0,0,0,0,0,0,]
    chunk entry:140@8141707 (8,10)@90839[0,0,0,0,0,0,]
    chunk entry:141@8141719 (1,3)@89507[0,0,0,0,0,0,]
    chunk entry:142@8141731 (2,0)@86985[0,0,0,0,0,0,]

    and this goes till

    chunk entry:34491@8553919 (-29,-119)@8134560[0,41,4,0,3,0,]
    chunk entry:34492@8553931 (-28,-119)@8134725[2,21,2,0,5,0,]
    chunk entry:34493@8553943 (-27,-119)@8134812[2,29,0,0,11,0,]
    chunk entry:34494@8553955 (-22,-119)@8134923[4,18,0,5,2,0,]
    chunk entry:34495@8553967 (-21,-119)@8135032[4,26,2,1,8,0,]
    chunk entry:34496@8553979 (-19,-119)@8135197[2,20,4,0,10,0,]
    chunk entry:34497@8553991 (-18,-119)@8135296[4,24,0,0,8,0,]
    chunk entry:34498@8554003 (-17,-119)@8135395[0,19,0,9,8,0,]
    chunk entry:34499@8554015 (-16,-119)@8135494[0,48,0,0,5,0,]
    chunk entry:34500@8554027 (-15,-119)@8135639[5,30,1,0,8,0,]
    chunk entry:34501@8554039 (-14,-119)@8135754[0,5,0,2,6,0,]
    chunk entry:34502@8554051 (-36,-117)@8135807[0,19,0,0,3,0,]

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 13, 2016
  4. Offline

    asdaarg

    If it looks like that all the way then you should be ok. 34503 is a lot of chunks; I've never tested with that many, but it should in principle not really make a difference.
    edit: I'm running a test generation of 35000 chunks to see if it works.The generation process doesn't increase memory usage at all so far. Edit: It suddenly went up a lot. And now exceeded memory limit. I'm afraid its there's no good way of unloading a chunk once it gets loaded with bukkit/mc.

    Ok, new plans for 0.6. I'm going to make it possible to do a gradual /axr off as a workaround.

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 13, 2016
  5. Offline

    RazMaTaz

  6. Offline

    asdaarg

    I can barely handle 1.1G running the client and server on the same pc with only 2G :p Anyways should be easier now, as I've just implemented a separate function (/axr show and /axr off used to share the same function with only deleting the file at the end being different) Now /axr off also unregisters chunks and saves the index every 256th chunk. Even if the server crashes during thet process, it doesn't really matter since the few chunks that weren't unregistered wont be any different after overwriting the same ore with the same ore.
    Edit: theres a potential danger though that the GC heap error occurs while rewriting the index, so its still recommended to stop the server with stop command before it runs out of memory. Even if it happens though, 0.6 will automatically store a backup of the ore file by default, so you just start over with that.
     
  7. Offline

    RazMaTaz

    More Ram. Ram Harder.. oh wait. LOL

    Cool Beans. :)
     
  8. Offline

    thedjshow

    I got this error today.
    Code:
    52:16 [INFO] Lindex error: lx[11]=1 x=0 ly[11]=34 y=34 lz[11]=3 z=4
    52:16 [INFO] Lindex error: lx[12]=0 x=0 ly[12]=34 y=35 lz[12]=5 z=3
    52:16 [INFO] Lindex error: lx[13]=1 x=0 ly[13]=34 y=35 lz[13]=4 z=3
    52:16 [INFO] Lindex error: lx[14]=14 x=13 ly[14]=35 y=37 lz[14]=2 z=4
    52:16 [INFO] Lindex error: lx[15]=14 x=13 ly[15]=36 y=37 lz[15]=1 z=4
    52:16 [INFO] Lindex error: lx[16]=13 x=13 ly[16]=36 y=37 lz[16]=2 z=4
    52:16 [INFO] Lindex error: lx[17]=15 x=14 ly[17]=35 y=37 lz[17]=1 z=1
    52:16 [INFO] Lindex error: lx[18]=15 x=14 ly[18]=36 y=37 lz[18]=0 z=1
    52:16 [INFO] Lindex error: lx[20]=13 x=14 ly[20]=36 y=37 lz[20]=2 z=2
    52:16 [INFO] Lindex error: lx[21]=14 x=15 ly[21]=36 y=37 lz[21]=1 z=1
    52:16 [INFO] Lindex error: lx[22]=15 x=13 ly[22]=36 y=38 lz[22]=0 z=4
    52:16 [INFO] Lindex error: lx[23]=5 x=14 ly[23]=50 y=53 lz[23]=16 z=10
    52:16 [INFO] Lindex error: lx[24]=4 x=14 ly[24]=50 y=53 lz[24]=15 z=10
    52:16 [INFO] Lindex error: lx[9]=1 x=14 ly[9]=33 y=36 lz[9]=13 z=2
    52:16 [INFO] Lindex error: lx[10]=1 x=0 ly[10]=34 y=34 lz[10]=3 z=4
    52:16 [INFO] Lindex error: lx[11]=0 x=0 ly[11]=34 y=35 lz[11]=5 z=3
    52:16 [INFO] Lindex error: lx[12]=1 x=0 ly[12]=34 y=35 lz[12]=4 z=3
    52:16 [INFO] Lindex error: lx[13]=14 x=13 ly[13]=35 y=37 lz[13]=2 z=4
    52:16 [INFO] Lindex error: lx[14]=14 x=13 ly[14]=36 y=37 lz[14]=1 z=4
    52:16 [INFO] Lindex error: lx[15]=13 x=13 ly[15]=36 y=37 lz[15]=2 z=4
    52:16 [INFO] Lindex error: lx[16]=15 x=14 ly[16]=35 y=37 lz[16]=1 z=1
    52:16 [INFO] Lindex error: lx[17]=15 x=14 ly[17]=36 y=37 lz[17]=0 z=1
    52:16 [INFO] Lindex error: lx[19]=13 x=14 ly[19]=36 y=37 lz[19]=2 z=2
    52:16 [INFO] Lindex error: lx[20]=14 x=15 ly[20]=36 y=37 lz[20]=1 z=1
    52:16 [INFO] Lindex error: lx[21]=15 x=13 ly[21]=36 y=38 lz[21]=0 z=4
    52:16 [INFO] Lindex error: lx[22]=5 x=14 ly[22]=50 y=53 lz[22]=16 z=10
    52:16 [INFO] Lindex error: lx[23]=4 x=14 ly[23]=50 y=53 lz[23]=15 z=10
    52:16 [INFO] Lindex error: lx[6]=1 x=14 ly[6]=33 y=36 lz[6]=13 z=2
    52:16 [INFO] Lindex error: lx[7]=1 x=0 ly[7]=34 y=34 lz[7]=3 z=4
    52:16 [INFO] Lindex error: lx[8]=0 x=0 ly[8]=34 y=35 lz[8]=5 z=3
    52:16 [INFO] Lindex error: lx[9]=1 x=0 ly[9]=34 y=35 lz[9]=4 z=3
    52:16 [INFO] Lindex error: lx[10]=14 x=13 ly[10]=35 y=37 lz[10]=2 z=4
     
  9. Offline

    meandus

    Thanks a lot for solving that so directly for 0.6.
     
  10. Offline

    asdaarg

    I've fixed this type of thing hopefully for the last time in 0.6

    Due to delays with the completion of axr chest, I'm going to release 0.6 early, but it will also allow the developer of axr chest to integrate it directly with 0.6 rather than 0.5.21. Although both axr chest and the line of sight visibility test algorithms are almost complete, 0.6 will not have them fully implemented, but there will be 3 new features, as well as a lot of bug fixes, enough to call it 0.6, and 0.7 will probably be released shortly after with the completion of the two major features. This will allow 0.6 to become like a stable middle step between 0.5. and 0.7 which I don't expect to be as stable due to the introduction of the new big features.

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 13, 2016
  11. Offline

    The PC Tech Guy

    Got a repack failed, contact the author upon startup of your plugin. I get nullpointer exceptions when attempting to do /axr off. Have I lost my ores? Or are they recoverable...

    And yes, I'm too lazy to look back a few pages. I've been gone for a while, and yeah...
     
  12. Offline

    Ratchet

    if I want to add ores to AxR after already running it for a while are there some special steps I need to take or can I just add them to the config and restart the server?
     
  13. Offline

    asdaarg

    They are probably recoverable. If you look your debug.log, it will probably say something like Lindex error. If you find fatal error, then you wont be able to recover it though. I should have put in an option to be lenient with lindex errors, but I didn't really think this through., so now it will just abort loading from the file as soon as it encounters them, but I will quickly add that option.
    Edit: You can now set lenient=true (its false by default) in config and it will ignore lindex errors, allowing you to filter them out.

    At the moment there is only one option, namely doing /axr off. Then add the new ore type, then /axr on.

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 13, 2016
  14. Offline

    Lanuk

    This mod has taken up 4gb of my plugins folder. Is there a way to make it smaller?
     
  15. Offline

    asdaarg

    It is probably your debug.log, delete it. Since 0.6 it shouldn't grow as much though.
     
  16. Offline

    Emmett97

    AntiXray errored insanely, now i cannot replace ores, just errors now, it was working before but now it isnt. Is there anyway to replace ores once they are gone?
     
  17. Offline

    asdaarg

    What errors are you getting? If they are not "FATAL" then you can flush the errors out with setting lenient=true in config.txt and doing /axr off then /axr on
     
  18. Offline

    Emmett97

    Nope they are severe and axr commands arent working. World is now corrupted.. Spamming log with Chunk errors now
     
  19. Offline

    asdaarg

    again what errors are you getting?
     
  20. Offline

    The PC Tech Guy

    AAAHHH IT'S FATAL! Nooooo.......
    Ok, Um, I guess I have to regenerate ores. Since I didn't expect losing my ores, uh, well, I could read on how to do that...
    I do know is it attempts to restore 688 chunks when I do /axr off. Is there a way to regenerate ores in x amount of chunks without lagging out the server? Sorry, I'm just a little... frustrated that I lost my ores. :(
    I moved my old ore files into a separate file, and upon startup I see that AXR loaded 512 chunks and hid 4 ores... yeah... :(

    Ok, I looked at the OP, but looks like I have to do it via coordinates... Wish I could do it from player position, or an option to restore ores in all chunks of the world...
     
  21. Offline

    asdaarg

    The world seed knows were your ores are, so you can always get them back, but the process is somewhat lengthy. Check your index.txt file (start again with the old ore file, and it should output it again if you overwrote it.) If it still lists your chunks there, recovering the ore will be easier.
     
  22. Offline

    SierraDelta

    Sorry for being clueless on the subject, but I also believe all my ores have been lost. How would I go about restoring them?
     
  23. Offline

    Ratchet

    I just restarted my server for something else and then the log got filled up with errors from AxR:

    Code:
    2011-05-14 16:43:29 [SEVERE] null loading AntiXRay v0.6.1 (Is it up to date?)
    java.lang.NullPointerException
        at com.asdaarg.bukkit.antixray.log.flush(log.java:49)
        at com.asdaarg.bukkit.antixray.log.logf(log.java:83)
        at com.asdaarg.bukkit.antixray.BChunk.LoadChunkB1(BChunk.java:682)
        at com.asdaarg.bukkit.antixray.BChunk.Load(BChunk.java:672)
        at com.asdaarg.bukkit.antixray.AWorld.loadChunk(AWorld.java:477)
        at com.asdaarg.bukkit.antixray.AWorld.getBChunk(AWorld.java:502)
        at com.asdaarg.bukkit.antixray.AWorld.Load(AWorld.java:217)
        at com.asdaarg.bukkit.antixray.AntiXRay.axr_on(AntiXRay.java:337)
        at com.asdaarg.bukkit.antixray.AntiXRay.CMD_axr_on(AntiXRay.java:355)
        at com.asdaarg.bukkit.antixray.AntiXRay.onEnable(AntiXRay.java:123)
        at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:127)
        at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:676)
        at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:249)
        at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:131)
        at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:109)
        at net.minecraft.server.MinecraftServer.e(MinecraftServer.java:218)
        at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:205)
        at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:145)
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:260)
        at net.minecraft.server.ThreadServerApplication.run(SourceFile:394)
    Code:
    2011-05-14 16:43:41 [INFO] CORRUPTION WARNING: suspicious face count:14906@142509
    2011-05-14 16:43:41 [WARNING] Task of 'AntiXRay' generated an exception
    java.lang.NullPointerException
        at com.asdaarg.bukkit.antixray.log.flush(log.java:49)
        at com.asdaarg.bukkit.antixray.log.logf(log.java:83)
        at com.asdaarg.bukkit.antixray.BChunk.LoadChunkB1(BChunk.java:682)
        at com.asdaarg.bukkit.antixray.BChunk.Load(BChunk.java:672)
        at com.asdaarg.bukkit.antixray.AWorld.loadChunk(AWorld.java:477)
        at com.asdaarg.bukkit.antixray.AWorld.getBChunk(AWorld.java:502)
        at com.asdaarg.bukkit.antixray.AWorld.Load(AWorld.java:217)
        at com.asdaarg.bukkit.antixray.AntiXRay$4$1.run(AntiXRay.java:221)
        at org.bukkit.craftbukkit.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:138)
        at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:360)
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:287)
        at net.minecraft.server.ThreadServerApplication.run(SourceFile:394)
     
  24. Offline

    asdaarg

    This apparently happens when you have turned the debug file off. Anyways fixed.

    read under description

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 13, 2016
  25. Offline

    Ratchet

    is this fix in 0.6.2?
    also are these errors anything to worry about?
     
  26. Offline

    asdaarg

    Yes it was fixed there. This error looks problematic though: 2011-05-14 16:43:41 [INFO] CORRUPTION WARNING: suspicious face count:14906@142509
    How does your .index.txt file(s) look like?
     
  27. Offline

    Ratchet

    just looks like a lot of this:

    chunk entry:13@140180 (-9,-9)@53856[0,3,63,]
    chunk entry:14@140192 (-8,-8)@57748[0,2,33,]
    chunk entry:15@140204 (-7,-7)@61202[14,2,82,]

    nothing stands out
     
  28. Offline

    asdaarg

    Can I have a look at them as well as your debug.log?
     
  29. Offline

    Ratchet

    well as soon as I saw that error, I uploaded a backup of the files I had and it hasn't appeared since

    also I have debug log set to false so it hasn't been recording one :(
     
  30. Offline

    TuRmoiLxx

    Holy jizz. I got this error, the same I think at the top. - http://pastebin.com/X7DHaqMH is my debug file.

    Every time I start my server, it shows me a huge error, CHUNK @ something and spams it up 24/7. Every time I delete the AXR file it runs smoothly. Help please?

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 13, 2016
  31. Offline

    The PC Tech Guy

    Ok, so I'm supposed to... leave that file there? I'm confused...
     

Share This Page