mathuin edited this page Jan 27, 2013 · 5 revisions

Running TopoMC under Windows is not supported. That being said, this is what I did and it worked for me.

Python and GDAL

I installed the 64-bit version of Python 2.7.3 from http://www.python.org/getit/ to match my 64-bit version of Windows 7. I then went to http://www.gisinternals.com/sdk/ where I clicked on "release-1600-x64-gdal-1-9-1-mapserver-6-0". This page contains links for GDAL itself (gdal-19-1600-x64-core.msi) and for the Python bindings (GDAL-1.9.2.win-amd64-py2.7.msi), both of which I installed.

At this point I modified the Path variable to contain the locations of GDAL, Python, and the Python scripts directory -- C:\Program Files\GDAL;C:\Python27;C:\Python27\Scripts got stuck at the end of the existing variable.

Python Dependencies

I went to http://www.lfd.uci.edu/~gohlke/pythonlibs/ for most of the remaining dependencies, including numpy-MKL, scipy, pywin32, and pyyaml.

I downloaded ez_setup.py from http://peak.telecommunity.com/dist/ez_setup.py and ran it in order to install easy_install. I then used easy_install to install suds, since it's not available from LFD. This is done by the command "easy_install suds" from within the Windows command shell.

GitHub for Windows and git commands

Now that GDAL, Python, and all their dependencies are installed, I installed GitHub for Windows from http://windows.github.com/ which included a Powershell install. Once that install completed, I visited the web page https://github.com/mathuin/TopoMC and clicked the 'Clone in Windows' button. Once the clone finished, I opened the Powershell (right-click on the repository, select 'open a shell here') and ran the following commands:

  • git checkout develop
  • git submodule init
  • git submodule update

These commands switch to the develop branch (the most recent code with all the fixes), initialize the submodules (currently just pymclevel), and update those same submodules (checking out the proper version of pymclevel).

Let's Make Some Maps!

At this point TopoMC is ready to roll. From this same shell, try the following commands:

  • python ./GetRegion.py --name Provincetown --ymax 42.0901 --xmin -70.2611 --ymin 42.0091 --xmax -70.1100
  • python ./PrepRegion.py --name Provincetown
  • python ./BuildRegion.py --name Provincetown

The USGS is having trouble with their servers, so ./GetRegion.py isn't working. I have a trouble ticket with them and hope they get it fixed soon!

When the scripts are run, an error message is displayed:

ERROR: The system was unable to find the specified registry key or value.

This message appears to be innocuous. Additionally, ./PrepRegion.py may cause two error windows to appear with titles like this:

gdalwarp.exe: No Disk

and saying something about not seeing a CD or something. Click 'Continue' and all should be well.

Once the third script is complete, use Windows Explorer to cruise around the Regions directory. It should contain a subdirectory named Provincetown. This subdirectory should contain directories named Datasets and Tiles, and files named Map.tif and Region.yaml. The Worlds directory should contain a subdirectory named Provincetown which contains the generated world, which can be copied to your Minecraft saves directory if you want to play single-player, or to your server directory, or wherever you like.

Please note: if you have not updated your pymclevel checkout, the map will need to be opened from inside Minecraft in order to convert it to Anvil.

Using compiled NBT code in pymclevel

This is what I had to do.

I downloaded and installed Virtual Studio C++ Express 2008 and Platform SDK 7.0, including the 64 bit compilers.

I opened the CMD shell from within the Windows SDK 7.0 menu in the Start menu.

I set the DISTUTILS_USE_SDK variable to 1.

I ran python setup.py build_ext --inplace from the pymclevel directory.

Potential improvements

My laptop does not support OpenCL so I was unable to take advantage of this feature. If you have a desktop with a modern video card, visit the OpenCL site at http://developer.nvidia.com/cuda/opencl to see if it will work for you. Once you have OpenCL working, you will need to install the pyopencl module from LFD. OpenCL support should be detected automatically by ./PrepRegion.py if it is installed. Again, if you get it to work, please let me know!

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content
mathuin edited this page Jan 27, 2013 · 5 revisions

Running TopoMC under Windows is not supported. That being said, this is what I did and it worked for me.

Python and GDAL

I installed the 64-bit version of Python 2.7.3 from http://www.python.org/getit/ to match my 64-bit version of Windows 7. I then went to http://www.gisinternals.com/sdk/ where I clicked on "release-1600-x64-gdal-1-9-1-mapserver-6-0". This page contains links for GDAL itself (gdal-19-1600-x64-core.msi) and for the Python bindings (GDAL-1.9.2.win-amd64-py2.7.msi), both of which I installed.

At this point I modified the Path variable to contain the locations of GDAL, Python, and the Python scripts directory -- C:\Program Files\GDAL;C:\Python27;C:\Python27\Scripts got stuck at the end of the existing variable.

Python Dependencies

I went to http://www.lfd.uci.edu/~gohlke/pythonlibs/ for most of the remaining dependencies, including numpy-MKL, scipy, pywin32, and pyyaml.

I downloaded ez_setup.py from http://peak.telecommunity.com/dist/ez_setup.py and ran it in order to install easy_install. I then used easy_install to install suds, since it's not available from LFD. This is done by the command "easy_install suds" from within the Windows command shell.

GitHub for Windows and git commands

Now that GDAL, Python, and all their dependencies are installed, I installed GitHub for Windows from http://windows.github.com/ which included a Powershell install. Once that install completed, I visited the web page https://github.com/mathuin/TopoMC and clicked the 'Clone in Windows' button. Once the clone finished, I opened the Powershell (right-click on the repository, select 'open a shell here') and ran the following commands:

  • git checkout develop
  • git submodule init
  • git submodule update

These commands switch to the develop branch (the most recent code with all the fixes), initialize the submodules (currently just pymclevel), and update those same submodules (checking out the proper version of pymclevel).

Let's Make Some Maps!

At this point TopoMC is ready to roll. From this same shell, try the following commands:

  • python ./GetRegion.py --name Provincetown --ymax 42.0901 --xmin -70.2611 --ymin 42.0091 --xmax -70.1100
  • python ./PrepRegion.py --name Provincetown
  • python ./BuildRegion.py --name Provincetown

The USGS is having trouble with their servers, so ./GetRegion.py isn't working. I have a trouble ticket with them and hope they get it fixed soon!

When the scripts are run, an error message is displayed:

ERROR: The system was unable to find the specified registry key or value.

This message appears to be innocuous. Additionally, ./PrepRegion.py may cause two error windows to appear with titles like this:

gdalwarp.exe: No Disk

and saying something about not seeing a CD or something. Click 'Continue' and all should be well.

Once the third script is complete, use Windows Explorer to cruise around the Regions directory. It should contain a subdirectory named Provincetown. This subdirectory should contain directories named Datasets and Tiles, and files named Map.tif and Region.yaml. The Worlds directory should contain a subdirectory named Provincetown which contains the generated world, which can be copied to your Minecraft saves directory if you want to play single-player, or to your server directory, or wherever you like.

Please note: if you have not updated your pymclevel checkout, the map will need to be opened from inside Minecraft in order to convert it to Anvil.

Using compiled NBT code in pymclevel

This is what I had to do.

I downloaded and installed Virtual Studio C++ Express 2008 and Platform SDK 7.0, including the 64 bit compilers.

I opened the CMD shell from within the Windows SDK 7.0 menu in the Start menu.

I set the DISTUTILS_USE_SDK variable to 1.

I ran python setup.py build_ext --inplace from the pymclevel directory.

Potential improvements

My laptop does not support OpenCL so I was unable to take advantage of this feature. If you have a desktop with a modern video card, visit the OpenCL site at http://developer.nvidia.com/cuda/opencl to see if it will work for you. Once you have OpenCL working, you will need to install the pyopencl module from LFD. OpenCL support should be detected automatically by ./PrepRegion.py if it is installed. Again, if you get it to work, please let me know!

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
mathuin edited this page Jan 27, 2013 · 5 revisions

Running TopoMC under Windows is not supported. That being said, this is what I did and it worked for me.

Python and GDAL

I installed the 64-bit version of Python 2.7.3 from http://www.python.org/getit/ to match my 64-bit version of Windows 7. I then went to http://www.gisinternals.com/sdk/ where I clicked on "release-1600-x64-gdal-1-9-1-mapserver-6-0". This page contains links for GDAL itself (gdal-19-1600-x64-core.msi) and for the Python bindings (GDAL-1.9.2.win-amd64-py2.7.msi), both of which I installed.

At this point I modified the Path variable to contain the locations of GDAL, Python, and the Python scripts directory -- C:\Program Files\GDAL;C:\Python27;C:\Python27\Scripts got stuck at the end of the existing variable.

Python Dependencies

I went to http://www.lfd.uci.edu/~gohlke/pythonlibs/ for most of the remaining dependencies, including numpy-MKL, scipy, pywin32, and pyyaml.

I downloaded ez_setup.py from http://peak.telecommunity.com/dist/ez_setup.py and ran it in order to install easy_install. I then used easy_install to install suds, since it's not available from LFD. This is done by the command "easy_install suds" from within the Windows command shell.

GitHub for Windows and git commands

Now that GDAL, Python, and all their dependencies are installed, I installed GitHub for Windows from http://windows.github.com/ which included a Powershell install. Once that install completed, I visited the web page https://github.com/mathuin/TopoMC and clicked the 'Clone in Windows' button. Once the clone finished, I opened the Powershell (right-click on the repository, select 'open a shell here') and ran the following commands:

  • git checkout develop
  • git submodule init
  • git submodule update

These commands switch to the develop branch (the most recent code with all the fixes), initialize the submodules (currently just pymclevel), and update those same submodules (checking out the proper version of pymclevel).

Let's Make Some Maps!

At this point TopoMC is ready to roll. From this same shell, try the following commands:

  • python ./GetRegion.py --name Provincetown --ymax 42.0901 --xmin -70.2611 --ymin 42.0091 --xmax -70.1100
  • python ./PrepRegion.py --name Provincetown
  • python ./BuildRegion.py --name Provincetown

The USGS is having trouble with their servers, so ./GetRegion.py isn't working. I have a trouble ticket with them and hope they get it fixed soon!

When the scripts are run, an error message is displayed:

ERROR: The system was unable to find the specified registry key or value.

This message appears to be innocuous. Additionally, ./PrepRegion.py may cause two error windows to appear with titles like this:

gdalwarp.exe: No Disk

and saying something about not seeing a CD or something. Click 'Continue' and all should be well.

Once the third script is complete, use Windows Explorer to cruise around the Regions directory. It should contain a subdirectory named Provincetown. This subdirectory should contain directories named Datasets and Tiles, and files named Map.tif and Region.yaml. The Worlds directory should contain a subdirectory named Provincetown which contains the generated world, which can be copied to your Minecraft saves directory if you want to play single-player, or to your server directory, or wherever you like.

Please note: if you have not updated your pymclevel checkout, the map will need to be opened from inside Minecraft in order to convert it to Anvil.

Using compiled NBT code in pymclevel

This is what I had to do.

I downloaded and installed Virtual Studio C++ Express 2008 and Platform SDK 7.0, including the 64 bit compilers.

I opened the CMD shell from within the Windows SDK 7.0 menu in the Start menu.

I set the DISTUTILS_USE_SDK variable to 1.

I ran python setup.py build_ext --inplace from the pymclevel directory.

Potential improvements

My laptop does not support OpenCL so I was unable to take advantage of this feature. If you have a desktop with a modern video card, visit the OpenCL site at http://developer.nvidia.com/cuda/opencl to see if it will work for you. Once you have OpenCL working, you will need to install the pyopencl module from LFD. OpenCL support should be detected automatically by ./PrepRegion.py if it is installed. Again, if you get it to work, please let me know!

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
mathuin edited this page Jan 27, 2013 · 5 revisions

Running TopoMC under Windows is not supported. That being said, this is what I did and it worked for me.

Python and GDAL

I installed the 64-bit version of Python 2.7.3 from http://www.python.org/getit/ to match my 64-bit version of Windows 7. I then went to http://www.gisinternals.com/sdk/ where I clicked on "release-1600-x64-gdal-1-9-1-mapserver-6-0". This page contains links for GDAL itself (gdal-19-1600-x64-core.msi) and for the Python bindings (GDAL-1.9.2.win-amd64-py2.7.msi), both of which I installed.

At this point I modified the Path variable to contain the locations of GDAL, Python, and the Python scripts directory -- C:\Program Files\GDAL;C:\Python27;C:\Python27\Scripts got stuck at the end of the existing variable.

Python Dependencies

I went to http://www.lfd.uci.edu/~gohlke/pythonlibs/ for most of the remaining dependencies, including numpy-MKL, scipy, pywin32, and pyyaml.

I downloaded ez_setup.py from http://peak.telecommunity.com/dist/ez_setup.py and ran it in order to install easy_install. I then used easy_install to install suds, since it's not available from LFD. This is done by the command "easy_install suds" from within the Windows command shell.

GitHub for Windows and git commands

Now that GDAL, Python, and all their dependencies are installed, I installed GitHub for Windows from http://windows.github.com/ which included a Powershell install. Once that install completed, I visited the web page https://github.com/mathuin/TopoMC and clicked the 'Clone in Windows' button. Once the clone finished, I opened the Powershell (right-click on the repository, select 'open a shell here') and ran the following commands:

  • git checkout develop
  • git submodule init
  • git submodule update

These commands switch to the develop branch (the most recent code with all the fixes), initialize the submodules (currently just pymclevel), and update those same submodules (checking out the proper version of pymclevel).

Let's Make Some Maps!

At this point TopoMC is ready to roll. From this same shell, try the following commands:

  • python ./GetRegion.py --name Provincetown --ymax 42.0901 --xmin -70.2611 --ymin 42.0091 --xmax -70.1100
  • python ./PrepRegion.py --name Provincetown
  • python ./BuildRegion.py --name Provincetown

The USGS is having trouble with their servers, so ./GetRegion.py isn't working. I have a trouble ticket with them and hope they get it fixed soon!

When the scripts are run, an error message is displayed:

ERROR: The system was unable to find the specified registry key or value.

This message appears to be innocuous. Additionally, ./PrepRegion.py may cause two error windows to appear with titles like this:

gdalwarp.exe: No Disk

and saying something about not seeing a CD or something. Click 'Continue' and all should be well.

Once the third script is complete, use Windows Explorer to cruise around the Regions directory. It should contain a subdirectory named Provincetown. This subdirectory should contain directories named Datasets and Tiles, and files named Map.tif and Region.yaml. The Worlds directory should contain a subdirectory named Provincetown which contains the generated world, which can be copied to your Minecraft saves directory if you want to play single-player, or to your server directory, or wherever you like.

Please note: if you have not updated your pymclevel checkout, the map will need to be opened from inside Minecraft in order to convert it to Anvil.

Using compiled NBT code in pymclevel

This is what I had to do.

I downloaded and installed Virtual Studio C++ Express 2008 and Platform SDK 7.0, including the 64 bit compilers.

I opened the CMD shell from within the Windows SDK 7.0 menu in the Start menu.

I set the DISTUTILS_USE_SDK variable to 1.

I ran python setup.py build_ext --inplace from the pymclevel directory.

Potential improvements

My laptop does not support OpenCL so I was unable to take advantage of this feature. If you have a desktop with a modern video card, visit the OpenCL site at http://developer.nvidia.com/cuda/opencl to see if it will work for you. Once you have OpenCL working, you will need to install the pyopencl module from LFD. OpenCL support should be detected automatically by ./PrepRegion.py if it is installed. Again, if you get it to work, please let me know!

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content
mathuin edited this page Jan 27, 2013 · 5 revisions

Running TopoMC under Windows is not supported. That being said, this is what I did and it worked for me.

Python and GDAL

I installed the 64-bit version of Python 2.7.3 from http://www.python.org/getit/ to match my 64-bit version of Windows 7. I then went to http://www.gisinternals.com/sdk/ where I clicked on "release-1600-x64-gdal-1-9-1-mapserver-6-0". This page contains links for GDAL itself (gdal-19-1600-x64-core.msi) and for the Python bindings (GDAL-1.9.2.win-amd64-py2.7.msi), both of which I installed.

At this point I modified the Path variable to contain the locations of GDAL, Python, and the Python scripts directory -- C:\Program Files\GDAL;C:\Python27;C:\Python27\Scripts got stuck at the end of the existing variable.

Python Dependencies

I went to http://www.lfd.uci.edu/~gohlke/pythonlibs/ for most of the remaining dependencies, including numpy-MKL, scipy, pywin32, and pyyaml.

I downloaded ez_setup.py from http://peak.telecommunity.com/dist/ez_setup.py and ran it in order to install easy_install. I then used easy_install to install suds, since it's not available from LFD. This is done by the command "easy_install suds" from within the Windows command shell.

GitHub for Windows and git commands

Now that GDAL, Python, and all their dependencies are installed, I installed GitHub for Windows from http://windows.github.com/ which included a Powershell install. Once that install completed, I visited the web page https://github.com/mathuin/TopoMC and clicked the 'Clone in Windows' button. Once the clone finished, I opened the Powershell (right-click on the repository, select 'open a shell here') and ran the following commands:

  • git checkout develop
  • git submodule init
  • git submodule update

These commands switch to the develop branch (the most recent code with all the fixes), initialize the submodules (currently just pymclevel), and update those same submodules (checking out the proper version of pymclevel).

Let's Make Some Maps!

At this point TopoMC is ready to roll. From this same shell, try the following commands:

  • python ./GetRegion.py --name Provincetown --ymax 42.0901 --xmin -70.2611 --ymin 42.0091 --xmax -70.1100
  • python ./PrepRegion.py --name Provincetown
  • python ./BuildRegion.py --name Provincetown

The USGS is having trouble with their servers, so ./GetRegion.py isn't working. I have a trouble ticket with them and hope they get it fixed soon!

When the scripts are run, an error message is displayed:

ERROR: The system was unable to find the specified registry key or value.

This message appears to be innocuous. Additionally, ./PrepRegion.py may cause two error windows to appear with titles like this:

gdalwarp.exe: No Disk

and saying something about not seeing a CD or something. Click 'Continue' and all should be well.

Once the third script is complete, use Windows Explorer to cruise around the Regions directory. It should contain a subdirectory named Provincetown. This subdirectory should contain directories named Datasets and Tiles, and files named Map.tif and Region.yaml. The Worlds directory should contain a subdirectory named Provincetown which contains the generated world, which can be copied to your Minecraft saves directory if you want to play single-player, or to your server directory, or wherever you like.

Please note: if you have not updated your pymclevel checkout, the map will need to be opened from inside Minecraft in order to convert it to Anvil.

Using compiled NBT code in pymclevel

This is what I had to do.

I downloaded and installed Virtual Studio C++ Express 2008 and Platform SDK 7.0, including the 64 bit compilers.

I opened the CMD shell from within the Windows SDK 7.0 menu in the Start menu.

I set the DISTUTILS_USE_SDK variable to 1.

I ran python setup.py build_ext --inplace from the pymclevel directory.

Potential improvements

My laptop does not support OpenCL so I was unable to take advantage of this feature. If you have a desktop with a modern video card, visit the OpenCL site at http://developer.nvidia.com/cuda/opencl to see if it will work for you. Once you have OpenCL working, you will need to install the pyopencl module from LFD. OpenCL support should be detected automatically by ./PrepRegion.py if it is installed. Again, if you get it to work, please let me know!

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
mathuin edited this page Jan 27, 2013 · 5 revisions

Running TopoMC under Windows is not supported. That being said, this is what I did and it worked for me.

Python and GDAL

I installed the 64-bit version of Python 2.7.3 from http://www.python.org/getit/ to match my 64-bit version of Windows 7. I then went to http://www.gisinternals.com/sdk/ where I clicked on "release-1600-x64-gdal-1-9-1-mapserver-6-0". This page contains links for GDAL itself (gdal-19-1600-x64-core.msi) and for the Python bindings (GDAL-1.9.2.win-amd64-py2.7.msi), both of which I installed.

At this point I modified the Path variable to contain the locations of GDAL, Python, and the Python scripts directory -- C:\Program Files\GDAL;C:\Python27;C:\Python27\Scripts got stuck at the end of the existing variable.

Python Dependencies

I went to http://www.lfd.uci.edu/~gohlke/pythonlibs/ for most of the remaining dependencies, including numpy-MKL, scipy, pywin32, and pyyaml.

I downloaded ez_setup.py from http://peak.telecommunity.com/dist/ez_setup.py and ran it in order to install easy_install. I then used easy_install to install suds, since it's not available from LFD. This is done by the command "easy_install suds" from within the Windows command shell.

GitHub for Windows and git commands

Now that GDAL, Python, and all their dependencies are installed, I installed GitHub for Windows from http://windows.github.com/ which included a Powershell install. Once that install completed, I visited the web page https://github.com/mathuin/TopoMC and clicked the 'Clone in Windows' button. Once the clone finished, I opened the Powershell (right-click on the repository, select 'open a shell here') and ran the following commands:

  • git checkout develop
  • git submodule init
  • git submodule update

These commands switch to the develop branch (the most recent code with all the fixes), initialize the submodules (currently just pymclevel), and update those same submodules (checking out the proper version of pymclevel).

Let's Make Some Maps!

At this point TopoMC is ready to roll. From this same shell, try the following commands:

  • python ./GetRegion.py --name Provincetown --ymax 42.0901 --xmin -70.2611 --ymin 42.0091 --xmax -70.1100
  • python ./PrepRegion.py --name Provincetown
  • python ./BuildRegion.py --name Provincetown

The USGS is having trouble with their servers, so ./GetRegion.py isn't working. I have a trouble ticket with them and hope they get it fixed soon!

When the scripts are run, an error message is displayed:

ERROR: The system was unable to find the specified registry key or value.

This message appears to be innocuous. Additionally, ./PrepRegion.py may cause two error windows to appear with titles like this:

gdalwarp.exe: No Disk

and saying something about not seeing a CD or something. Click 'Continue' and all should be well.

Once the third script is complete, use Windows Explorer to cruise around the Regions directory. It should contain a subdirectory named Provincetown. This subdirectory should contain directories named Datasets and Tiles, and files named Map.tif and Region.yaml. The Worlds directory should contain a subdirectory named Provincetown which contains the generated world, which can be copied to your Minecraft saves directory if you want to play single-player, or to your server directory, or wherever you like.

Please note: if you have not updated your pymclevel checkout, the map will need to be opened from inside Minecraft in order to convert it to Anvil.

Using compiled NBT code in pymclevel

This is what I had to do.

I downloaded and installed Virtual Studio C++ Express 2008 and Platform SDK 7.0, including the 64 bit compilers.

I opened the CMD shell from within the Windows SDK 7.0 menu in the Start menu.

I set the DISTUTILS_USE_SDK variable to 1.

I ran python setup.py build_ext --inplace from the pymclevel directory.

Potential improvements

My laptop does not support OpenCL so I was unable to take advantage of this feature. If you have a desktop with a modern video card, visit the OpenCL site at http://developer.nvidia.com/cuda/opencl to see if it will work for you. Once you have OpenCL working, you will need to install the pyopencl module from LFD. OpenCL support should be detected automatically by ./PrepRegion.py if it is installed. Again, if you get it to work, please let me know!

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
mathuin edited this page Jan 27, 2013 · 5 revisions

Running TopoMC under Windows is not supported. That being said, this is what I did and it worked for me.

Python and GDAL

I installed the 64-bit version of Python 2.7.3 from http://www.python.org/getit/ to match my 64-bit version of Windows 7. I then went to http://www.gisinternals.com/sdk/ where I clicked on "release-1600-x64-gdal-1-9-1-mapserver-6-0". This page contains links for GDAL itself (gdal-19-1600-x64-core.msi) and for the Python bindings (GDAL-1.9.2.win-amd64-py2.7.msi), both of which I installed.

At this point I modified the Path variable to contain the locations of GDAL, Python, and the Python scripts directory -- C:\Program Files\GDAL;C:\Python27;C:\Python27\Scripts got stuck at the end of the existing variable.

Python Dependencies

I went to http://www.lfd.uci.edu/~gohlke/pythonlibs/ for most of the remaining dependencies, including numpy-MKL, scipy, pywin32, and pyyaml.

I downloaded ez_setup.py from http://peak.telecommunity.com/dist/ez_setup.py and ran it in order to install easy_install. I then used easy_install to install suds, since it's not available from LFD. This is done by the command "easy_install suds" from within the Windows command shell.

GitHub for Windows and git commands

Now that GDAL, Python, and all their dependencies are installed, I installed GitHub for Windows from http://windows.github.com/ which included a Powershell install. Once that install completed, I visited the web page https://github.com/mathuin/TopoMC and clicked the 'Clone in Windows' button. Once the clone finished, I opened the Powershell (right-click on the repository, select 'open a shell here') and ran the following commands:

  • git checkout develop
  • git submodule init
  • git submodule update

These commands switch to the develop branch (the most recent code with all the fixes), initialize the submodules (currently just pymclevel), and update those same submodules (checking out the proper version of pymclevel).

Let's Make Some Maps!

At this point TopoMC is ready to roll. From this same shell, try the following commands:

  • python ./GetRegion.py --name Provincetown --ymax 42.0901 --xmin -70.2611 --ymin 42.0091 --xmax -70.1100
  • python ./PrepRegion.py --name Provincetown
  • python ./BuildRegion.py --name Provincetown

The USGS is having trouble with their servers, so ./GetRegion.py isn't working. I have a trouble ticket with them and hope they get it fixed soon!

When the scripts are run, an error message is displayed:

ERROR: The system was unable to find the specified registry key or value.

This message appears to be innocuous. Additionally, ./PrepRegion.py may cause two error windows to appear with titles like this:

gdalwarp.exe: No Disk

and saying something about not seeing a CD or something. Click 'Continue' and all should be well.

Once the third script is complete, use Windows Explorer to cruise around the Regions directory. It should contain a subdirectory named Provincetown. This subdirectory should contain directories named Datasets and Tiles, and files named Map.tif and Region.yaml. The Worlds directory should contain a subdirectory named Provincetown which contains the generated world, which can be copied to your Minecraft saves directory if you want to play single-player, or to your server directory, or wherever you like.

Please note: if you have not updated your pymclevel checkout, the map will need to be opened from inside Minecraft in order to convert it to Anvil.

Using compiled NBT code in pymclevel

This is what I had to do.

I downloaded and installed Virtual Studio C++ Express 2008 and Platform SDK 7.0, including the 64 bit compilers.

I opened the CMD shell from within the Windows SDK 7.0 menu in the Start menu.

I set the DISTUTILS_USE_SDK variable to 1.

I ran python setup.py build_ext --inplace from the pymclevel directory.

Potential improvements

My laptop does not support OpenCL so I was unable to take advantage of this feature. If you have a desktop with a modern video card, visit the OpenCL site at http://developer.nvidia.com/cuda/opencl to see if it will work for you. Once you have OpenCL working, you will need to install the pyopencl module from LFD. OpenCL support should be detected automatically by ./PrepRegion.py if it is installed. Again, if you get it to work, please let me know!

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content
mathuin edited this page Jan 27, 2013 · 5 revisions

Running TopoMC under Windows is not supported. That being said, this is what I did and it worked for me.

Python and GDAL

I installed the 64-bit version of Python 2.7.3 from http://www.python.org/getit/ to match my 64-bit version of Windows 7. I then went to http://www.gisinternals.com/sdk/ where I clicked on "release-1600-x64-gdal-1-9-1-mapserver-6-0". This page contains links for GDAL itself (gdal-19-1600-x64-core.msi) and for the Python bindings (GDAL-1.9.2.win-amd64-py2.7.msi), both of which I installed.

At this point I modified the Path variable to contain the locations of GDAL, Python, and the Python scripts directory -- C:\Program Files\GDAL;C:\Python27;C:\Python27\Scripts got stuck at the end of the existing variable.

Python Dependencies

I went to http://www.lfd.uci.edu/~gohlke/pythonlibs/ for most of the remaining dependencies, including numpy-MKL, scipy, pywin32, and pyyaml.

I downloaded ez_setup.py from http://peak.telecommunity.com/dist/ez_setup.py and ran it in order to install easy_install. I then used easy_install to install suds, since it's not available from LFD. This is done by the command "easy_install suds" from within the Windows command shell.

GitHub for Windows and git commands

Now that GDAL, Python, and all their dependencies are installed, I installed GitHub for Windows from http://windows.github.com/ which included a Powershell install. Once that install completed, I visited the web page https://github.com/mathuin/TopoMC and clicked the 'Clone in Windows' button. Once the clone finished, I opened the Powershell (right-click on the repository, select 'open a shell here') and ran the following commands:

  • git checkout develop
  • git submodule init
  • git submodule update

These commands switch to the develop branch (the most recent code with all the fixes), initialize the submodules (currently just pymclevel), and update those same submodules (checking out the proper version of pymclevel).

Let's Make Some Maps!

At this point TopoMC is ready to roll. From this same shell, try the following commands:

  • python ./GetRegion.py --name Provincetown --ymax 42.0901 --xmin -70.2611 --ymin 42.0091 --xmax -70.1100
  • python ./PrepRegion.py --name Provincetown
  • python ./BuildRegion.py --name Provincetown

The USGS is having trouble with their servers, so ./GetRegion.py isn't working. I have a trouble ticket with them and hope they get it fixed soon!

When the scripts are run, an error message is displayed:

ERROR: The system was unable to find the specified registry key or value.

This message appears to be innocuous. Additionally, ./PrepRegion.py may cause two error windows to appear with titles like this:

gdalwarp.exe: No Disk

and saying something about not seeing a CD or something. Click 'Continue' and all should be well.

Once the third script is complete, use Windows Explorer to cruise around the Regions directory. It should contain a subdirectory named Provincetown. This subdirectory should contain directories named Datasets and Tiles, and files named Map.tif and Region.yaml. The Worlds directory should contain a subdirectory named Provincetown which contains the generated world, which can be copied to your Minecraft saves directory if you want to play single-player, or to your server directory, or wherever you like.

Please note: if you have not updated your pymclevel checkout, the map will need to be opened from inside Minecraft in order to convert it to Anvil.

Using compiled NBT code in pymclevel

This is what I had to do.

I downloaded and installed Virtual Studio C++ Express 2008 and Platform SDK 7.0, including the 64 bit compilers.

I opened the CMD shell from within the Windows SDK 7.0 menu in the Start menu.

I set the DISTUTILS_USE_SDK variable to 1.

I ran python setup.py build_ext --inplace from the pymclevel directory.

Potential improvements

My laptop does not support OpenCL so I was unable to take advantage of this feature. If you have a desktop with a modern video card, visit the OpenCL site at http://developer.nvidia.com/cuda/opencl to see if it will work for you. Once you have OpenCL working, you will need to install the pyopencl module from LFD. OpenCL support should be detected automatically by ./PrepRegion.py if it is installed. Again, if you get it to work, please let me know!