Connecting to a Minecraft Bedrock Server from consoles.

Xbox and PlayStation only allow peer to peer or the use of Relms Servers. This can be pretty frustrating if you run your own standalone server and want to play with your friends.

This is a very quick guide to the setup of a Raspberry Pi to allow Xbox and PlayStation players to connect to a bedrock server. It show up as LAN server so that a console can connect.

This uses some freely available software https://github.com/jhead/phantom to create a ‘proxy’

The really quick method

For example the Raspberry Pi 4 is ARM 8

Start a command prompt

mkdir -p /opt/phantom
cd /opt/phantom
wget https://github.com/jhead/phantom/releases/download/v0.5.4/phantom-linux-arm8
chmod u+x ./phantom-linux-arm8
./phantom-linux-arm8 -server minecraft.server.co.uk:19132

You should now see a local LAN server

Improvements – Making it automatic

If you don’t want to have to manually start the proxy we can improve it and make it a service that automatically starts on boot.

JIRA Gadget.common.error.500

JIRA Does Not Start after Configuring SSL Due to Unspecified TrustStore or Keystore Path

Unable to Connect to SSL Services due to PKIX Path Building Failed sun.security.provider.certpath.SunCertPathBuilderException

JIRA Does Not Start after Configuring SSL Due to Unspecified TrustStore or Keystore Path

Test using:

https://confluence.atlassian.com/kb/files/779355358/779355357/1/1441897666313/SSLPoke.class

$JAVA_HOME/bin/java SSLPoke jira.example.com 443

Download and import the certificate into the keystore.

wget https://letsencrypt.org/certs/lets-encrypt-x3-cross-signed.pem.txt
wget https://letsencrypt.org/certs/letsencryptauthorityx3.pem.txt

cp -a /opt/atlassian/jira/jre/lib/security/cacerts /opt/atlassian/jira/jre/lib/security/cacerts.orig

/opt/atlassian/jira/jre/bin/keytool -trustcacerts \
    -keystore /opt/atlassian/jira/jre/lib/security/cacerts  \
    -storepass changeit \
    -noprompt \
    -importcert \
    -alias lets-encrypt-x3-cross-signed \
    -file lets-encrypt-x3-cross-signed.pem.txt

Test

/opt/atlassian/jira/jre/bin/java SSLPoke jira.edgeler.net 443
Successfully connected
cp -a /opt/atlassian/confluence/jre/lib/security/cacerts /opt/atlassian/confluence/jre/lib/security/cacerts.orig

/opt/atlassian/confluence/jre/bin/keytool -trustcacerts \
    -keystore /opt/atlassian/confluence/jre/lib/security/cacerts  \
    -storepass changeit \
    -noprompt \
    -importcert \
    -alias lets-encrypt-x3-cross-signed \
    -file lets-encrypt-x3-cross-signed.pem.txt

File checksum on Windows 10

Here is how to obtain the checksum of a file on Windows 10.

CertUtil -hashfile <filename.xyz> <hashalgorithm>

Hash algorithms: MD2 MD4 MD5 SHA1 SHA256 SHA384 SHA512

JIRA Activity Stream blank with Apache and mod_jk and https

If you use JIRA with Apache webserver and mod_jk using https, I found the Activity Steams stopped working. JIRA uses an IFrame to display the Activity Stream. When the URL was pasted into a new browser tab it worked. After investigating I found it to be X-Frame-Options in the header to prevent Clickjacking. Sure enough JIRA is setting them to DENY.

A simple fix was to add this the the apache config.

Header always set X-Frame-Options SAMEORIGIN

IPv6 at Home

I have finally got around to playing with IPv6. With massive thanks to Hurricane Electric internet services offering a free IPv6 tunnel broker service. It’s actually quite frightening just how easy it was to implement and with stateless auto configuration all hosts immediately had IPv6 addresses! It’s just a matter of time until the tipping point is reached and there is a mad dash to migrate to IPv6. Just when we’ll get to that point, I’m not sure. Surely it can’t be longer than a year, given the IPv4 address allocation dwindling. Unless ISPs start using more NAT. :-(

I set-up an host on only IPv6 and it was interesting to see just what I could access on the web. Google seems to be fully IPv6 enabled. I could browse Cisco and Microsoft’s websites. Surprisingly, Facebook is enabled, but HP, IBM as of the time of writing this are not.

Adding JDBC drivers to WildFly

 

Create the directory structure:

\modules\system\layers\base\com\microsoft\sqljdbc41\main

module.xml

<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.3" name="com.microsoft.sqljdbc41">
  <resources>
    <resource-root path="sqljdbc41.jar"/>
  </resources>
  <dependencies>
    <module name="javax.api"/>
    <module name="javax.transaction.api"/>
  </dependencies>
</module>

Then copy in the jar file sqljdbc41.jar

 

Create the directory structure:

\modules\system\layers\base\net\sourceforge\jtds\main

module.xml

<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.3" name="net.sourceforge.jtds">
  <resources>
    <resource-root path="jtds-1.3.1.jar"/>
  </resources>
  <dependencies>
    <module name="javax.api"/>
    <module name="javax.transaction.api"/>
  </dependencies>
</module>

Then copy in the jar file jtds-1.3.1.jar

 

run the cli and enter the following commands

connect
/subsystem=datasources/jdbc-driver=sqljdbc41:add(driver-name=sqljdbc41,driver-module-name=com.microsoft.sqljdbc41)
/subsystem=datasources/jdbc-driver=jtds:add(driver-name=jtds,driver-module-name=net.sourceforge.jtds)
quit