Permalänk

Batch till Java program

Hej jag har en körandes Minecraft Server som startades via cmd med en simpel kod i form av:

java -Xmx4096M -jar craftbukkit.jar

Men nu till problemet jag vill göra ett batch program som kan skicka commandon som jag skriver i min batch fil till mitt körandes minecraft server.

jag har hittat ett sätt som gjorde att den läste av kommandon från en text fil och då skrev jag såhär:

java craftbukkit.jar < file.txt

MEN! då startas ett nytt fönster med en ny server som direkt när den startas kör det programmet.... och jag behöver kommandona att köras i det redan öppna fönstret... någon som har en anning hur jag ska göra?

Permalänk
Medlem

Varför kan du inte skriva i det befintliga fönstret?

Visa signatur

i7-6700K | MSI Z170A | MSI 1080 8GB | 16GB Kingston HyperX | Intel 600P 256GB | Samsung EVO Basic 840 250GB x2 raid 0 | Corsair RM 750W | 3 x Dell U2414H

Permalänk
Medlem

Tror inte detta går att göra med batch... du skulle dock kunna skriva tex ett c++ eller java program som kör och hanterar shell sessionen..

Visa signatur

CPU: Ryzen 9 3900x Noctua NH-D14 MOBO: TUF Gaming X570-PLUS GPU: GTX 980 RAM: 32 GB 3200 MHz Chassi: R4 PSU: Corsair AX860 Hörlurar: SteelSeries 840 Mus: Logitech G502 Lightspeed V.v. nämn eller citera mig för att få svar.

Permalänk
Skrivet av gn1p:

Varför kan du inte skriva i det befintliga fönstret?

har flera olika servrar som körs så håller på att skapa ett BATCH program som jag hanterar alla de olika servrarna från men det sista problemet är att då lösa hur kommandona som jag skriver i denna "Batch" fönstrer skickas till servern.

Permalänk
Medlem

Du måste nog använda något större språk.

Visa signatur

Corsair 750D | i5 4670k | ASUS Z87-a | 8GB Corsair Dominator | Asus GTX770-DC2OC | Samsung 840 EVO 250GB | WD 500GB X2

Permalänk
Skrivet av reflect:

Du måste nog använda något större språk.

jag kan ju göra så mina kommandon skrivs in men då startar den en ny server och det är ju inte den som det skulle skriva det på utan i den som redan är startad..... går det verkligen inte typ CALL eller socket av något slag i CMD?

Permalänk
Medlem
Skrivet av erikpetersen97:

jag kan ju göra så mina kommandon skrivs in men då startar den en ny server och det är ju inte den som det skulle skriva det på utan i den som redan är startad..... går det verkligen inte typ CALL eller socket av något slag i CMD?

Har för mig att minecraft har rcon? Isåfall hade det varit ett bra ställe att börja gräva på

Visa signatur

Corsair 750D | i5 4670k | ASUS Z87-a | 8GB Corsair Dominator | Asus GTX770-DC2OC | Samsung 840 EVO 250GB | WD 500GB X2

Permalänk

Java kommunicera med jar file

Hej jag håller på med programmering inom java och stötte på ett problem jag fösöker lösa.

jag har en minecraft server som är igång.

jag håller på att skapa ett java program som ber användaren mata in ett kommando som sen skickas till minecraft servern fönsteret och sen aktiveras kommandot där..

så t.ex. jag skriver i min java fil "reload" och då skickas det till servern och servern reloadar....

+ hade varit om jag kunnat få tillbaka responsen också från servern men inte ett måste. kan någon skriva något code till mig då jag ej har lärt mig sånt avancerat än...

hade uppskattat det väldigt mycket

Permalänk
Inaktiv

Varför kan du inte bara köra servern i en terminal och skriva reload direkt till den? Detta är nog den viktigaste frågan?

"Hej jag håller på med programmering"
"kan någon skriva något code till mig då jag ej har lärt mig sånt avancerat än..."

Då du håller på med programmering tycker jag att du kan skriva din kod själv. Jag kan dessutom ge dig några pekare på vad du vill göra! Här kommer några träffar på sökningen "Java program control minecraft server"
http://stackoverflow.com/questions/21143234/running-a-minecra...

http://minecraft.gamepedia.com/Programs_and_editors/Server_wr...
http://www.codeproject.com/Articles/361413/MineCraft-Server-M...

Den första är riktigt bra, och förklarar hur du programmerar ett program som detta. Jag antar att du vet hur du bygger/parsar input/output, bygger en lätt state machine och allt annat som behövs. De andra ger dig färdiga program.

Permalänk
Skrivet av anon81912:

Varför kan du inte bara köra servern i en terminal och skriva reload direkt till den? Detta är nog den viktigaste frågan?

"Hej jag håller på med programmering"
"kan någon skriva något code till mig då jag ej har lärt mig sånt avancerat än..."

Då du håller på med programmering tycker jag att du kan skriva din kod själv. Jag kan dessutom ge dig några pekare på vad du vill göra! Här kommer några träffar på sökningen "Java program control minecraft server"
http://stackoverflow.com/questions/21143234/running-a-minecra...

http://minecraft.gamepedia.com/Programs_and_editors/Server_wr...
http://www.codeproject.com/Articles/361413/MineCraft-Server-M...

Den första är riktigt bra, och förklarar hur du programmerar ett program som detta. Jag antar att du vet hur du bygger/parsar input/output, bygger en lätt state machine och allt annat som behövs. De andra ger dig färdiga program.

Jag har kollar på den första länken men som han gjort så får han bara ut vad responsen är från servern.
han ber ju om hjälp att få ett input så han kan skicka kommando till servern och en användare har gjort det genom att hjälpa han genom att skriva koden han behöver. MEN jag får ej koden att fungera i den andra? hur ska jag göra för att få med input delen i programmet?

Permalänk
Inaktiv
Skrivet av erikpetersen97:

Jag har kollar på den första länken men som han gjort så får han bara ut vad responsen är från servern.
han ber ju om hjälp att få ett input så han kan skicka kommando till servern och en användare har gjort det genom att hjälpa han genom att skriva koden han behöver. MEN jag får ej koden att fungera i den andra? hur ska jag göra för att få med input delen i programmet?

Här finns mer info: http://stackoverflow.com/questions/11241800/how-to-pipe-input...
Prova att söka på dina problem, det går mycket snabbare och är bättre förklarat!

Du kan inte bara köra något av programmen jag rekommenderade då!

Permalänk
Hedersmedlem

*Trådar sammanfogade enligt §3.3*

Det går alldeles utmärkt att fortsätta i denna tråden. Observera att det går bra att lägga till ny information i både rubrik och trådstart.

Citat:

§ 3.3 Det är inte tillåtet att skapa flera trådar om samma ämne (så kallad korspostning). Detta gäller oavsett om trådarna placeras i samma forumdel eller i olika forumdelar. Om en moderator har låst en tråd är det inte tillåtet att skapa en ny tråd om samma ämne. Regeln finns för att alla ska få samma chans att få sina trådar uppmärksammade och för att forumet ska bli så överskådligt som möjligt.

/moderator

Visa signatur

Danskjävel så krattar som en skrivare...

Permalänk
Medlem

Kan inte direkt så mycket java, men borde ju gå att köra en

cout << / cin >> $VARIABEL Notera: Språket till vänster är C++

på något vis, typ att man ändrar cin variabeln så känner programmet av det och skickar det till JAVA-processen/consollen för minecraft.
Kanske är helt ute och cyklar, men känns som att det vore vettigt.

Visa signatur

Kom ihåg att ALLTID citera mig om du vill ha svar!

|CPU: Intel Core i7 4790K Kyld av: Corsair H80 GPU: ASUS GTX 970 4GB Chassi: Phanteks Enthoo Evolv MOBO: MSI Z97M Gaming Nätagg: XFX 750W Silver SSD: Kingston 120GB SSDNow V300 HDD: Samsung Spinpoint F3 1TB 7200RPM + 1TB|

Permalänk
Inaktiv
Skrivet av FobbanN:

Kan inte direkt så mycket java, men borde ju gå att köra en

cout << / cin >> $VARIABEL Notera: Språket till vänster är C++

på något vis, typ att man ändrar cin variabeln så känner programmet av det och skickar det till JAVA-processen/consollen för minecraft.
Kanske är helt ute och cyklar, men känns som att det vore vettigt.

Nja. Även i C++ eller C# skulle du behöva någon trådad wrappervariant som håller processen vid liv och kommunicerar med den på något vis. Men att starta den med ett kommando borde ju kunna ske ungefär sådär, tror jag.

Permalänk
Medlem

Kör bara en "screen" för varje fönster.

screen -dmS [screen name] [exec..]

Hoppa in i fönstret genom att köra:

screen -x [screen name / screen id]

För att lista alla screens:

"screen -ls"

Lär mer om screen på "man screen".

Permalänk
Avstängd
Skrivet av NilsS:

Kör bara en "screen" för varje fönster.

screen -dmS [screen name] [exec..]

Hoppa in i fönstret genom att köra:

screen -x [screen name / screen id]

För att lista alla screens:

"screen -ls"

Lär mer om screen på "man screen".

TS kör dom nog i Windows därför han fråga efter bat.

@erikpetersen97
Edet: Ska se vad jag kan koda åt TS så att han får det han vill ha. Men ville han bara ha reload?

Visa signatur

Server: två Intel Xeon E5-2690v2 och 128 GB ram

Min server dator: #15149189 http://i.imgur.com/BKxOmUP.jpg
zxhosting: https://www.facebook.com/pages/Zxhosting/1476037889350815