Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Supported by

Help Needed getting JATOS to work on Windows Server

Hi, I am looking for help getting JATOS working on a windows 2016 server with IIS.

I have followed the “Install JATOS on a server” instructions and have it sitting in my wwwroot folder where it works fine locally with a port such as 9000 (eg 1.2.3.4:9000/jatos) as configured via the loader.bat / production.conf files


However when I try and open the site over the internet (eg 1.2.3.4/jatos) I get the message “HTTP Error 403.14 – Forbidden - The Web server is configured to not list the contents of this directory” presumably because IIS doesn’t recognise that there is any valid web page files (html, aspx, php etc) in the jatos directory.


If I change the loader.bat / production.conf files to use port 80 (the default port for IIS) and restart the server when I open the site at 1.2.3.4/jatos or 1.2.3.4:80/jatos I still get the error message above and now the loader.bat file wont start anymore (since I assume it is clashing with IIS), 


the JATOS application logs show 

[ERROR] - a.i.TcpListener - Bind failed for TCP channel on endpoint [/1.2.3.4:80]

java.net.BindException: Address already in use: bind


and the Loader log shows –

Oops, cannot start the server.

akka.stream.impl.io.ConnectionSourceStage$$anon$2$$anon$1: Bind failed because of java.net.BindException: Address already in use: bind

Caused by: java.net.BindException: Address already in use: bind


I don’t have any firewalls running or anything installed on the server apart from IIS

Can anyone help me get JATOS working properly thanks.

Comments

  • I'm by no means an expert in Windows administration, but I think in what you said, 'since I assume it is clashing with IIS', you were probably right. IIS is bound to port 80 and JATOS can't bind to it anymore. JATOS does not need IIS - it runs independently. So I guess you have to turn off IIS or at least bind it to another port. Then JATOS is free to bind to 80.

    Best,

    Kristian

  • Hi Kristian, thanks for the quick reply, i have uninstalled IIS and JATOS is now running on the server under port 80 (eg 1.2.3.4/jatos) i don't understand however how i can make it accessible to anyone else over the internet (which is my aim) without using IIS.

  • JATOS is its own server. IIS is just Windows' standard web server. In the Linux world IIS is comparable with Apache. But from your question I deduct that you are new in this administration world. Is there maybe an IT department/guy that can help you setting this up?

  • Got it working, it turns out when i uninstalled IIS windows reset the firewall settings so the port was blocked

  • David, that is great! Sorry for sounding a bit harsh in the last post. But I'd like to ask you a question: It's a unusual these days to use Windows instead of Linux as a server OS. Why did you choose this? I'm just curious. JATOS works on both.

  • Hi Kristian, the university where i work is a windows environment (for better or worse!) so there wasn't any choice

  • Hi Kristian@kri,  I have the similar problem on the Linux server when start the JATOS server. Here is the last part of log show:

    2021-08-15 21:21:59,767 [INFO] - g.OnStartStop - JATOS started
    2021-08-15 21:22:00,474 [INFO] - p.a.Play - Application started (Prod) (no global state)
    2021-08-15 21:22:01,189 [ERROR] - a.i.TcpListener - Bind failed for TCP channel on endpoint [/1.13.2.85:80]
    java.net.BindException: Cannot assign requested address
        at java.base/sun.nio.ch.Net.bind0(Native Method)
        at java.base/sun.nio.ch.Net.bind(Net.java:455)
        at java.base/sun.nio.ch.Net.bind(Net.java:447)
        at java.base/sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:227)
        at java.base/sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:80)
        at akka.io.TcpListener.liftedTree1$1(TcpListener.scala:59)
        at akka.io.TcpListener.
    

    How should I solve this issues?

    Thanks so much! Bo.

  • Hi Bo,

    Your issue is likely different from David's. It looks like you want to start JATOS on port 80 on Linux, correct? Since port 80 belongs to the privileged ports you need to start JATOS with root user (or some similar user). If you want to run JATOS with a normal user use a port 1023 (e.g. the default port 9000) and use Apache / Nginx in front.

    Best,

    Kristian

  • Hi, Kristian@kri, I have switch the Linux CentOS 8.2 (before on a Ubuntu system) and start JATOS on port 80 with root user. However, I still get some errors as below.

    WARNING: An illegal reflective access operation has occurred
    WARNING: Illegal reflective access by com.google.inject.internal.cglib.core.$ReflectUtils$1 (file:/root/Online_experiment/jatos/lib/com.google.inject.guice-4.2.2.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain)
    WARNING: Please consider reporting this to the maintainers of com.google.inject.internal.cglib.core.$ReflectUtils$1
    WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
    WARNING: All illegal access operations will be denied in a future release
    Oops, cannot start the server.
    akka.stream.impl.io.ConnectionSourceStage$$anon$2$$anon$1: Bind failed because of java.net.BindException: Cannot assign requested address
    Caused by: java.net.BindException: Cannot assign requested address
        at java.base/sun.nio.ch.Net.bind0(Native Method)
        at java.base/sun.nio.ch.Net.bind(Net.java:455)
        at java.base/sun.nio.ch.Net.bind(Net.java:447)
        at java.base/sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:227)
        at java.base/sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:80)
        at akka.io.TcpListener.liftedTree1$1(TcpListener.scala:59)
        at akka.io.TcpListener.<init>(TcpListener.scala:56)
        at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
        at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
        at akka.util.Reflect$.instantiate(Reflect.scala:68)
        at akka.actor.ArgsReflectConstructor.produce(IndirectActorProducer.scala:101)
        at akka.actor.Props.newActor(Props.scala:212)
        at akka.actor.ActorCell.newActor(ActorCell.scala:650)
        at akka.actor.ActorCell.create(ActorCell.scala:676)
        at akka.actor.ActorCell.invokeAll$1(ActorCell.scala:549)
        at akka.actor.ActorCell.systemInvoke(ActorCell.scala:571)
        at akka.dispatch.Mailbox.processAllSystemMessages(Mailbox.scala:293)
        at akka.dispatch.Mailbox.run(Mailbox.scala:228)
        at akka.dispatch.Mailbox.exec(Mailbox.scala:241)
        at akka.dispatch.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
        at akka.dispatch.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
        at akka.dispatch.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
        at akka.dispatch.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)
    

    I try start JATOS on port 9000 with root user, and I got the similar errors as above.

    WARNING: An illegal reflective access operation has occurred
    WARNING: Illegal reflective access by com.google.inject.internal.cglib.core.$ReflectUtils$1 (file:/root/Online_experiment/jatos/lib/com.google.inject.guice-4.2.2.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain)
    WARNING: Please consider reporting this to the maintainers of com.google.inject.internal.cglib.core.$ReflectUtils$1
    WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
    WARNING: All illegal access operations will be denied in a future release
    Oops, cannot start the server.
    akka.stream.impl.io.ConnectionSourceStage$$anon$2$$anon$1: Bind failed because of java.net.BindException: Cannot assign requested address
    Caused by: java.net.BindException: Cannot assign requested address
        at java.base/sun.nio.ch.Net.bind0(Native Method)
        at java.base/sun.nio.ch.Net.bind(Net.java:455)
        at java.base/sun.nio.ch.Net.bind(Net.java:447)
        at java.base/sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:227)
        at java.base/sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:80)
        at akka.io.TcpListener.liftedTree1$1(TcpListener.scala:59)
        at akka.io.TcpListener.<init>(TcpListener.scala:56)
        at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
        at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
        at akka.util.Reflect$.instantiate(Reflect.scala:68)
        at akka.actor.ArgsReflectConstructor.produce(IndirectActorProducer.scala:101)
        at akka.actor.Props.newActor(Props.scala:212)
        at akka.actor.ActorCell.newActor(ActorCell.scala:650)
        at akka.actor.ActorCell.create(ActorCell.scala:676)
        at akka.actor.ActorCell.invokeAll$1(ActorCell.scala:549)
        at akka.actor.ActorCell.systemInvoke(ActorCell.scala:571)
        at akka.dispatch.Mailbox.processAllSystemMessages(Mailbox.scala:293)
        at akka.dispatch.Mailbox.run(Mailbox.scala:228)
        at akka.dispatch.Mailbox.exec(Mailbox.scala:241)
        at akka.dispatch.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
        at akka.dispatch.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
        at akka.dispatch.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
        at akka.dispatch.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)
    

    When I start JATOS use the default setting (127.0.0.1:9000) , I only some warnings.

    WARNING: An illegal reflective access operation has occurred
    WARNING: Illegal reflective access by com.google.inject.internal.cglib.core.$ReflectUtils$1 (file:/root/Online_experiment/jatos/lib/com.google.inject.guice-4.2.2.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain)
    WARNING: Please consider reporting this to the maintainers of com.google.inject.internal.cglib.core.$ReflectUtils$1
    WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
    WARNING: All illegal access operations will be denied in a future release
    

    Is this caused by Java environment or something else? How should I solve this issues?

    Thank you so much!

  • Hi, Kristian@kri, I have found the cause of this issue. I set the ip use the Public IP not the Private IP of the server. This problem has bothered me for several days. Is the warnings should I care about? Thank you so much!

  • krikri
    edited August 2021

    Ah, yes you are on some cloud server then? Did not think about this. Nice you solved it.

    You can ignore warning from 'com.google.inject'. Do you have others?

  • Thank you, Kristian. There was no other warnings or errors.

Sign In or Register to comment.

agen judi bola , sportbook, casino, togel, number game, singapore, tangkas, basket, slot, poker, dominoqq, agen bola. Semua permainan bisa dimainkan hanya dengan 1 ID. minimal deposit 50.000 ,- bonus cashback hingga 10% , diskon togel hingga 66% bisa bermain di android dan IOS kapanpun dan dimana pun. poker , bandarq , aduq, domino qq , dominobet. Semua permainan bisa dimainkan hanya dengan 1 ID. minimal deposit 10.000 ,- bonus turnover 0.5% dan bonus referral 20%. Bonus - bonus yang dihadirkan bisa terbilang cukup tinggi dan memuaskan, anda hanya perlu memasang pada situs yang memberikan bursa pasaran terbaik yaitu http://45.77.173.118/ Bola168. Situs penyedia segala jenis permainan poker online kini semakin banyak ditemukan di Internet, salah satunya TahunQQ merupakan situs Agen Judi Domino66 Dan BandarQ Terpercaya yang mampu memberikan banyak provit bagi bettornya. Permainan Yang Di Sediakan Dewi365 Juga sangat banyak Dan menarik dan Peluang untuk memenangkan Taruhan Judi online ini juga sangat mudah . Mainkan Segera Taruhan Sportbook anda bersama Agen Judi Bola Bersama Dewi365 Kemenangan Anda Berapa pun akan Terbayarkan. Tersedia 9 macam permainan seru yang bisa kamu mainkan hanya di dalam 1 ID saja. Permainan seru yang tersedia seperti Poker, Domino QQ Dan juga BandarQ Online. Semuanya tersedia lengkap hanya di ABGQQ. Situs ABGQQ sangat mudah dimenangkan, kamu juga akan mendapatkan mega bonus dan setiap pemain berhak mendapatkan cashback mingguan. ABGQQ juga telah diakui sebagai Bandar Domino Online yang menjamin sistem FAIR PLAY disetiap permainan yang bisa dimainkan dengan deposit minimal hanya Rp.25.000. DEWI365 adalah Bandar Judi Bola Terpercaya & resmi dan terpercaya di indonesia. Situs judi bola ini menyediakan fasilitas bagi anda untuk dapat bermain memainkan permainan judi bola. Didalam situs ini memiliki berbagai permainan taruhan bola terlengkap seperti Sbobet, yang membuat DEWI365 menjadi situs judi bola terbaik dan terpercaya di Indonesia. Tentunya sebagai situs yang bertugas sebagai Bandar Poker Online pastinya akan berusaha untuk menjaga semua informasi dan keamanan yang terdapat di POKERQQ13. Kotakqq adalah situs Judi Poker Online Terpercayayang menyediakan 9 jenis permainan sakong online, dominoqq, domino99, bandarq, bandar ceme, aduq, poker online, bandar poker, balak66, perang baccarat, dan capsa susun. Dengan minimal deposit withdraw 15.000 Anda sudah bisa memainkan semua permaina pkv games di situs kami. Jackpot besar,Win rate tinggi, Fair play, PKV Games