You are not logged in.

  • Login
Bitte besucht unser neues Forum unter https://forum.nitrado.net | Please visit our new Forum at https://forum.nitrado.net

Dear visitor, welcome to Nitrado.net Prepaid Gameserver Community-Support - Archiv. If this is your first visit here, please read the Help. It explains in detail how this page works. To use all features of this page, you should consider registering. Please use the registration form, to register here or read more information about the registration process. If you are already registered, please login here.

TimBone

User / Kunde

Posts: 1,053

Thanks: 2

  • Send private message

21

Friday, January 24th 2014, 10:19pm

Habe mit DeBukkit angefangen und gemerkt, dass man damit nichts anfangen kann. Hab dann mit einem Buch die Grundlagen von Java gelernt und mich dann auf Craftbukkit gestürzt. Angefangen mit Jetzt lerne ich Java 7 zu Java ist auch eine Insel :)

Edit://
TekkitTeam, ja, oder Verwaltungsprogramme mit (My) Sql etc.

Zitat von »Linus Torvalds«

Nur Weicheier benutzen Datensicherungen auf Band: richtige Männer laden ihren wichtigen Kram einfach auf einen FTP und lassen diesen vom Rest der Welt spiegeln

StackPointer

User / Kunde

Posts: 65

  • Send private message

22

Friday, January 24th 2014, 10:31pm

Sortieralgorithmen sind immer eine schöne Übung. Wegfindung auf nem Brett. Vielleicht sogar ein Mensch-Ärgere-Dich-Nicht Spiel, dass allerdings nur vom Computer gespielt wird und dir danach ein Log über den Verlauf des Spiels gibt.

BlazeMania

User / Kunde

  • "BlazeMania" is male

Posts: 1,299

Location: Berlin

Occupation: Schüler (Gymnasium)

  • Send private message

23

Friday, January 24th 2014, 11:05pm

...oder ein Chatprogramm, wie mein SimpleChat Projekt, was ich mal für Informatik gemacht habe (mit ner 1- bestanden :)).
Link: [Tool] SimpleChat - Chatte mit Freunden zusammen auf einem Server

Noch was für dich: Fernsteuerung von PCs mit TCP/UDP ;)

MfG David

TekkitTeam

User / Kunde

  • "TekkitTeam" is male

Posts: 1,349

Location: /home

Thanks: 2

  • Send private message

24

Friday, January 24th 2014, 11:06pm

@StackPointer

Aber dafür benötigit man doch wieder eine "Grafische Oberfläche" wie Applets oder? Oder verstehe ich es nicht ganz?

BlazeMania

User / Kunde

  • "BlazeMania" is male

Posts: 1,299

Location: Berlin

Occupation: Schüler (Gymnasium)

  • Send private message

25

Friday, January 24th 2014, 11:09pm

@TekkitTeam:
Dafür gibt es Plugins für Eclipse ;) Für die GUI empfehle ich dir WindowBuilder und fürs pushen von Projekten zu Github empfehle ich dir EGit :D

MfG David

StackPointer

User / Kunde

Posts: 65

  • Send private message

26

Friday, January 24th 2014, 11:50pm

Man braucht nie eine grafische Oberfläche. Man kann alles über Text machen, so haben Computer über 30 Jahre funktioniert. Und das Menschärgere dich nicht, soll ja auch gegen sich selbst spielen. Alternativ kannst du natürlich auch mal versuchen eine Spieloberfläche über die Konsole zu machen, das wäre dann jedoch schon eine sehr aufwändige Aktion.

Netzwerkprogrammierung würd ich auf keinen Fall zu beginn machen. Du machst es eh falsch, wenn du keine Ahnung von dem anderen Zeugs hast. Außerdem hilft es dabei auch ne gute Portion Ahnung von den Abläufen dabei im Betriebsystem zu haben. Desweiteren gibt es später ohnehin dann später Netty um das zu abstrahieren.

Stuppsman

User / Kunde

Posts: 2,766

Thanks: 25

  • Send private message

27

Saturday, January 25th 2014, 9:42am

Ich schließ mich an, DeBukkit ist höchst fragwürdig.. schau dir erst ein paar andere Tutorials an, schau dann nochmal DeBukkit und du weisst, was für nen Schwachsinn der da teilweise macht. Ich hab rudimentäre Java-Grundlagen gekannt, als ich mit Bukkit angefangen hab. Wenn du mit Suchmaschinen umgehen kannst und so halbwegs ne Ahnung hast, was Methoden und Klassen sind, was eine NullPointerException verursacht und ähnliches, dann brauchst du kein Buch mehr, dann ist Bukkit was ganz anderes, als Java selbst. Das ist zumindest meine Meinung - ich habs so lernen können. Nach nem Jahr ungefähr war ich soweit, dass ich das Tutorial schreiben konnte. Viele argumentieren hier aus der Sicht eines Programmierers, der mit Java noch mehr anfangen möchte, als "nur Bukkit-Plugins" zu programmieren.

@ChillUpX Danke fürs verlinken, aber demnächst bitte direkt den Wiki-Beitrag. Der ist um einiges umfangreicher und auch etwas aktueller.

PostCrafter soll auch ganz gut sein, hab ich gehört - hab mir selbst aber noch keine Meinung zu ihm gebildet.
Nein, ich hab kein Skype.. bei Interesse an einer privaten Unterrichtsstunde, wende dich bitte direkt an mein Team! 8)

StackPointer

User / Kunde

Posts: 65

  • Send private message

28

Saturday, January 25th 2014, 1:31pm

@Stuppsman: Ohne nun alle als Idioten bezeichnen zu wollen: Bei dem Scheiß, den ich hier, auf Youtube, in anderen Minecraftforen und erst recht auf BukkitDev sehe wäre es für die meisten besser gewesen, sie hätten Häkeln gelernt. Man kann das schlicht nicht trennen. Das wäre als wöllte man nur Android Programmieren lernen oder nur Spiele. So funktioniert das aber nicht. Alleine schon das ständige "das belastet aber die CPU" - entweder es ist notwendig, so viel Rechenzeit zu brauchen, oder es wird die falsche Datenstruktur verwendet. An der anderen Seite wird dann mit Wahnsitzigen Megaschleifen in jedem Task eine total unnötige berechnung durchgeführt, weil ein extra Thread, der die Ergebnisse an den Hauptthread schickt halt doch ein wenig komplizierter ist.

Worauf ich hinnausmöchte ist, dass Bukkit mit Java programmiert wird. Also sollte man Java beherschen. Und so wie ich das bisher sehe, kann das 99% aller "Programmierer" nicht. Selbst größere Bukkit Plugins, sind randvoll mit unnötigen Konstrukten, die natürlich die Performance bei 30 Spielern bereits in den Keller treiben. Und wenn ich mir ansehe, wie ich z.B. meine Plugins schreibe und wie andere ihre Plugins schreiben, dann bestätigt sich bei mir dieser Eindruck. Es ist natürlich eine nette Spielerrei mal bisschen was selbst zu programmieren, aber mal sollte dann schon so ehrlich sein, sich nicht als Softwareentwickler zu bezeichnen.

Das ist übrigens auch einer meiner Hauptkritikpunkte an der Bukkit API. Sie ist extra so einfach gemacht, dass zum einen alle mächtigen Funktionen, die man einer API normalerweise gibt komplett fehlen und somit viele Teile der Fehlerbehandlung vom Code aus nicht erreichbar sind und zum anderen werden unerfahrene Anfänger angelockt Plugins für ein hochkomplexes Serversystem zu schreiben. Nicht ohne Grund werden Entwickler von Serveranwendungen in der Regel deutlich besser bezahlt als welche, die eine Desktopanwendung programmieren, bei der es egal ist, ob sie langsamer läuft oder crasht.

Ich halte es trozdem für möglich, sich über ein bisschen Buch lesen und anschließendes Googeln das ganze bei Bukkit beizubringen. Es erfordert jedenfall die Fähigkeit selbst ein wenig darüber nachzudenken, was man da eigentlich macht. Trozdem hat Bukkit z.B. keine Threads. Fast schon religiös rufen die Bukkitjünger im Bukkitforum daher auch "Don't call API methods from other threads", wenn man nach threadsichere Methoden fragt (ohne die Frage verstanden zu haben natürlich). Es gibt übrigens ne ganze Reihe von Methoden, die threadsicher sind, nur mal so am Rande.

TekkitTeam

User / Kunde

  • "TekkitTeam" is male

Posts: 1,349

Location: /home

Thanks: 2

  • Send private message

29

Saturday, January 25th 2014, 2:30pm

Quoted

Dafür gibt es Plugins für Eclipse Für die GUI empfehle ich dir WindowBuilder und fürs pushen von Projekten zu Github empfehle ich dir EGit


Wenn man WindowBuilder installiert hat, muss man dann ein JFrame benutzen? Wenn ja finde ich es blöd, dass man z.B ein JButton nicht frei plazieren kann oder mache ich etwas falsch :D

BlazeMania

User / Kunde

  • "BlazeMania" is male

Posts: 1,299

Location: Berlin

Occupation: Schüler (Gymnasium)

  • Send private message

30

Saturday, January 25th 2014, 3:31pm

@TekkitTeam:
Wenn du keine Ahnung von JFrame hast, dann würde ich dir lieber ein Buch vorschlagen ;)

@StackPointer:
Da kann ich dir auch nur zustimmen. Wenn ich mir ansehe wie einige Plugins geschrieben wurden, muss ich dabei kotzen..

MfG David

TekkitTeam

User / Kunde

  • "TekkitTeam" is male

Posts: 1,349

Location: /home

Thanks: 2

  • Send private message

31

Saturday, January 25th 2014, 6:58pm

@TekkitTeam:
Wenn du keine Ahnung von JFrame hast, dann würde ich dir lieber ein Buch vorschlagen ;)

@StackPointer:
Da kann ich dir auch nur zustimmen. Wenn ich mir ansehe wie einige Plugins geschrieben wurden, muss ich dabei kotzen..

MfG David


Ich habe ja auch nicht gesagt, dass ich es kann... Sonder ich es lernen will ;). Und deswegen habe ich gefragt ob man dafüjr JFrames benutzt.Das meiste was ich mit Java gemacht habe, ist Mindstorms zu programmeren, aber das ist easy.

YourSky

User / Kunde

Posts: 1,430

Occupation: HTML3 Hacker

Thanks: 5

  • Send private message

32

Saturday, January 25th 2014, 7:48pm

@StackPointer kannst du mir eventuell ein Buch empfehlen außer "java ist auch nur eine insel", es darf ruhig Geld kosten?
Mit freundlichen Grüßen,
Yonas


BlazeMania

User / Kunde

  • "BlazeMania" is male

Posts: 1,299

Location: Berlin

Occupation: Schüler (Gymnasium)

  • Send private message

33

Saturday, January 25th 2014, 10:28pm


Stuppsman

User / Kunde

Posts: 2,766

Thanks: 25

  • Send private message

34

Sunday, January 26th 2014, 1:12am

@StackPointer
Aber wo ist der Unterschied von einem Serversystem zu nem Desktopprogramm, wenn man mal außer acht lässt, dass der Endkunde (also hier in dem Fall ein durchschnittlicher Minecraft-Spieler) evtl unter nem Neustart leiden könnte? Das schlimmste, was einem Serverleiter passieren kann, wenn er sein Plugin aufspielt, ist n laggender Server, ein Verlust der Map oder sogar nur ein Fehler im Chat und der log-Datei. Leidtragender ist auf jeden Fall nur der Serverbetreiber, weil die User abspringen und nicht wiederkommen. Hier steht kein Kunde dahinter, die User brauchen lediglich nen Moment länger, um nen ordentlichen Server (oder im Falle von BukkitDev ordentliche Plugins) zu finden und ordentliche Programmierer werden "beleidigt" durch "Code"... Ansonsten passiert doch nix - für viele vollkommen ausreichend. Für komplexe Plugin-Systeme sollte man solche Dinge wie Vererbung und von mir aus auch Threads kennen, aber um eine Nachricht ausgeben zu lassen, muss man Java nicht können.

Freu dich doch einfach, dass du deinen Server durch ordentliches Programmieren abheben kannst. ;) Für deine Mitspieler macht das aber nur nen Unterschied von Millisekunden, ob du DeBukkits "return erfolg" benutzt, oder direkt ausm Code herausreturnst und solang es funktioniert, kann der Code auf 35 links-rechts-Scrollbalkenlängen genestet sein - der Spieler bekommt den Unterschied nicht mit.

Aber generell bleibt nur zu sagen: Man braucht das Talent des logischen Denkens und der Reflektion (nicht Reflection :D ), ohne wird man weder bei Bukkit, noch bei Java weiterkommen - ein Buch wird dir kaum dabei helfen, unnötige Rechenschritte zu vermeiden, da muss das Hirn schon von allein anspringen.
Nein, ich hab kein Skype.. bei Interesse an einer privaten Unterrichtsstunde, wende dich bitte direkt an mein Team! 8)

BtoBastian

Moderator

  • "BtoBastian" is male

Posts: 3,612

Occupation: Softwareentwickler

  • Send private message

35

Sunday, January 26th 2014, 11:47am

Das schlimmste, was einem Serverleiter passieren kann, wenn er sein Plugin aufspielt, ist n laggender Server, ein Verlust der Map oder sogar nur ein Fehler im Chat und der log-Datei.

Ich glaube nicht, dass er mit 'Server' Gameserver gemeint hat.

Fast schon religiös rufen die Bukkitjünger im Bukkitforum daher auch "Don't call API methods from other threads", wenn man nach threadsichere Methoden fragt (ohne die Frage verstanden zu haben natürlich).

Meist wird die Frage aber von Leuten gestellt, die noch nichtmal eine Klasse von einem Objekt unterscheiden können. Für solche Leute ist es schon ratsam lieber alles synchron zu erledigen.

Es gibt übrigens ne ganze Reihe von Methoden, die threadsicher sind, nur mal so am Rande.

Hmm, mir sind keine bekannt ...
Standard Standart eines Flamingos ist einbeinig.

StackPointer

User / Kunde

Posts: 65

  • Send private message

36

Sunday, January 26th 2014, 12:46pm

Auch wenn BtoBastian grundsätzlich recht hat, dass sich das nicht unbedingt nur auf Gameserver bezog. Ich sehe einen gewaltigen Unterschied, ob mir der Minecraftserver abkackt und die Welt in den Tot reißt oder ob der Client bei einem Spieler verreckt. Im ersten Fall haben mehrere Spieler keinen Zugriff mehr auf den Dienst - im letzteren Fall startet man halt fix den Client neu und muss ihn im schlimmsten Fall fix neu runterladen. Ich finde das ist durchaus ein gewaltiger unterschied, vor allem, weil bei einem Server immer mehrere Leute betroffen sind. Ich kann mir nicht vorstellen, dass es den Spielern einfach egal ist, wenn der Server weg ist. Natürlich suchen sie sich auf längere Zeit einen neuen Server, aber das kann ja nicht die Lösung sein.

@BtoBastian: https://forums.bukkit.org/threads/thread…-methods.57387/
Es gibt auch nen offiziellen Eintrag im Wiki, aber den konnte ich leider nicht finden.

BtoBastian

Moderator

  • "BtoBastian" is male

Posts: 3,612

Occupation: Softwareentwickler

  • Send private message

37

Sunday, January 26th 2014, 1:24pm

Java source code

1
2
3
4
5
6
7
8
Bukkit.getServer()
Server.getBukkitVersion()
World.getUID()
World.getMaxHeight()
World.getSeed()
World.getBlockTypeIdAt(int x, int y, int z)
Entity.getEntityId()
Entity.getUniqueId()


Sind vermutlich alle Konstanten, die sind ehh immer Threadsave, nicht?
Standard Standart eines Flamingos ist einbeinig.

Crafter6432

User / Kunde

  • "Crafter6432" is male

Posts: 17

Location: /home

Occupation: Creeper

  • Send private message

38

Tuesday, January 28th 2014, 4:34pm

Java source code

1
2
3
4
5
6
7
8
Bukkit.getServer()
Server.getBukkitVersion()
World.getUID()
World.getMaxHeight()
World.getSeed()
World.getBlockTypeIdAt(int x, int y, int z)
Entity.getEntityId()
Entity.getUniqueId()


Sind vermutlich alle Konstanten, die sind ehh immer Threadsave, nicht?


Nicht unbedingt ,allerdings ist das auslesen von Werten meist nicht kritisch.

BtoBastian

Moderator

  • "BtoBastian" is male

Posts: 3,612

Occupation: Softwareentwickler

  • Send private message

39

Tuesday, January 28th 2014, 7:15pm

Nicht unbedingt

Wann nicht? Meines Wissens sind final-Variablen immer thread-safe.

Quoted

Final variables have special thread-safety semantics, in that other threads are guaranteed to see the final field in at least the state it was in when its constructor finished.
Standard Standart eines Flamingos ist einbeinig.

TekkitTeam

User / Kunde

  • "TekkitTeam" is male

Posts: 1,349

Location: /home

Thanks: 2

  • Send private message

40

Tuesday, January 28th 2014, 7:56pm

Kann einer vlt. mal erklären was Threadsichere Methoden sind? Und was passieren kann wenn die nicht Thread-Sicher sind? ;)

Bitte besucht unser neues Forum unter https://forum.nitrado.net| Please visit our new Forum at https://forum.nitrado.net

Similar threads